python - 按行解析数据框

标签 python pandas for-loop

我有一个数据框,其中有 5 列,名称分别为“0”、“1”、“2”、“3”、“4”

small_pd
Out[53]: 
          0     1     2     3     4 
0      93.0  94.0  93.0  33.0   0.0  
1      92.0  94.0  92.0  33.0   0.0 
2      92.0  93.0  92.0  33.0   0.0  
3      92.0  94.0  20.0  33.0  76.0 

我想按行使用上面的输入来提供执行以下操作的函数。我以第一行和第二行为例

第一行:

takeValue[0,0]-takeValue[0,1]+takeValue[0,2]-takeValue[0,3]+takeValue[0,4]

第二行:

   takeValue[1,0]-takeValue[1,1]+takeValue[1,2]-takeValue[1,3]+takeValue[1,4]

从第三行开始,然后将所有这些结果分配为额外列。

small_pd['extracolumn']

有没有办法避免 python 中典型的 for 循环并以更好的方式完成它?

你能给我建议吗? 多谢 亚历克斯

最佳答案

您可以使用pd.apply

df = pd.DataFrame(data={"0":[93,92,92,92],
                   "1":[94,94,93,94],
                   "2":[93,92,92,20],
                   "3":[33,33,33,33],
                   "4":[0,0,0,76]})

def calculation(row):
    return row["0"]-row["1"]+row["2"]-row["3"]+row["4"]


df['extracolumn'] = df.apply(calculation,axis=1)
print(df)
    0   1   2   3   4  result
0  93  94  93  33   0      59
1  92  94  92  33   0      57
2  92  93  92  33   0      58
3  92  94  20  33  76      61

关于python - 按行解析数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57088697/

相关文章:

python - 在 Django 中使用多个数据库,让另一个数据库包含不是由任何模型创建的表

python - 如何强制零截距来拟合二阶函数? (Python)

javascript - 创建带有子数组的数组的函数

python - 如何在 pandas 的 groupby 之后取回索引

javascript - 如何仅在单击时将字母颜色更改为白色

javascript - for循环中的进度条

python - 如何加快python函数调用速度

python - 我想检查输入是否是 python 代码

python - 我怎样才能用空格分割这个数据框?

python - 如何更改 DataFrame 中一列的数据类型?