pandas - 如何将形状为 (4,3) 的 ann 数组添加到我的 pandas df?
问题描述
我有这个 df
col 1 col 2 col 3 col 3
0 323.0 1.0 179.0 420.0
1 131.0 88.0 1.0 917.0
2 872.0 1.0 1.0 811.0
3 1.0 352.0 230.0 769.0
我想用 3 列将我的 np 数组添加到 df
out_values = [[ 1 1 1]
[1 1 1]
[212.2 209.7 212.1]
[217.1 213.3 219.2]]
期望的输出
col 1 col 2 col 3 col 3 0 1 2
0 323.0 1.0 179.0 420.0 1.0 1.0 1.0
1 131.0 88.0 1.0 917.0 1.0 1.0 1.0
2 872.0 1.0 1.0 811.0 212.2 209.7 212.1
3 1.0 352.0 230.0 769.0 217.1 213.3 219.2
我目前的代码是
ni_arr = ni_df.to_numpy()
out_values = [np.divide(ni_arr[0][1:], ni_arr[i][1:]) for i in range(ni_len)]
out_values = np.array( out_values )
但是我不确定如何将我的数组添加到 df 中,如我尝试使用的所需输出中所示,for i in range(len(ni_arr[0][1:])):
并将其与某些东西结合起来以获取列名(尽管我不确定这是最好的方法) ni_arr[0][1:]
返回在这种情况下,列的数量是正确的 3。但我无法将数组添加到 df。
请注意,ni_df 不是用于计算 out_values 的那个,但我认为与我要附加的输出无关。尽管我只是提到以防万一,我有一种更好的方法来执行上述步骤,即将 df 转换为一个数组,然后将第一行除以其他每一行,然后返回一个列表,其中包含每行的列值。我将值列表转换为单个数组。
解决方案
你可以检查
df = df.join(pd.DataFrame(out_values, index=df.index))
推荐阅读
- r - 地块联合回报期
- node.js - 运行 .getAttribute() 命令时发生错误
: TypeError: _this2.client.assertion 不是函数 - r - 如何在ggplot中从一个数据框添加多个图层?
- python - 带有 Windows Aero 主题的 QWebEngineView 的比例错误
- highcharts - HighCharts/Highstock:如何以编程方式绘制鼠标线
- reactjs - css 转换被忽略,因为反应重新渲染
- ruby-on-rails - Ruby Activerecord:在多个字段中找到相同的值
- android - 如何在库的基本应用程序类中注入成员?
- office365 - 访问被拒绝 - Sharepoint URL 作为 O365 中的自定义磁贴
- linux - 无法使用命令 /usr/bin/xdpyinfo 执行自动检查显示颜色。检查是否设置了 DISPLAY 变量。失败<<<<