python - 向数据框中添加一行,即 2 个现有行的总和
问题描述
我无法找到正确的代码来向我的数据框中添加一行,该行是数据框中现有 2 行的总和。
到目前为止,我有这个作为我的代码:
df = pd.DataFrame(np.random.randint(0,100,size=(20, 5)), columns=['First','Second','Third','Fourth','Fifth'],index=list('abcdefghijklmnopqrst'))
df2 = pd.DataFrame({'First':['0'],'Second':['1'],'Third':['-1'],'Fourth':['2'],'Fifth':['-2']},index=["u"])
df3 = pd.concat([df,df2],axis=0,join='inner')
print(df3)
我想在 df3 中添加一行“v”,其中行“v”是 df3 的行“b”和“d”之和
以下是我的尝试,但我似乎无法弄清楚!请让我知道我是否靠近。提前致谢 :)
df4 = df3["b","d"].sum()
df4= df3["b"].add(df3["d"], index=["v"])
df3.loc['v'] = df.sum("b", "d")
df3.loc['v',"First','Second','Third','Fourth','Fifth'] = df3.sum("b", "d")
解决方案
你现在的问题似乎是想得太复杂了。就像说 *row 'v' 是称为 'b' 的行和称为 'd' 的行的总和一样简单。或者在 pandas 语法中:
df.loc['v'] = df.loc['b'] + df.loc['d']
如果你真的需要使用 sum() 函数,你必须了解它是如何在数据框上工作的。在您的情况下,您首先必须选择相应的行(这将返回这些行的视图作为 pandas.DataFrame),然后使用此视图的 sum() 函数,如下所示:
df.loc['v'] = df.loc[['b','d']].sum()
为我使用 pandas 0.23.3 和蟒蛇 3.6。
推荐阅读
- kubernetes-helm - 配置 Vault-Helm PVC
- python - 为什么在这个使用 for 循环的 Python 单行代码中语法无效?
- python - 在 Python 中的列表中搜索值
- gcc - cortex m - newlib-nano - 时间函数(HEAP USAGE)
- java - 无法从 Java 中的 Linux 机器连接到 Oracle 数据库
- netbeans - Netbeans 11 - 在 xdebug 中更改当前行的颜色
- jquery - jQuery手风琴将类应用于所有面板而不是一个
- .net - 无法加载文件或程序集“Microsoft.Practices.ObjectBuilder2”
- javascript - 事件监听超时 - node.js
- r - 标签中的 Factoshiny 错误:缺少参数,没有默认值