2024-10-03 00:22:03 发布
网友
我想在我的dataframe中创建一个名为“test”的新列,它等于从第9列开始到dataframe末尾的所有列的总和。这些列都是数据类型float。在
下面是我尝试过但没用的代码-->;返回“test”列中的所有NaN值:
df_UBSrepscomp['test'] = df_UBSrepscomp.iloc[:, 9:].sum()
如果我理解你的问题,你想要从第9列开始的逐行求和。我相信你想要.sum(axis=1)。请参阅下面的示例,使用第2列而不是9列以了解可读性。在
.sum(axis=1)
df = DataFrame(npr.rand(10, 5)) df.iloc[0:3, 0:4] = np.nan # throw in some na values df.loc[:, 'test'] = df.iloc[:, 2:].sum(axis=1); print(df) 0 1 2 3 4 test 0 NaN NaN NaN NaN 0.73046 0.73046 1 NaN NaN NaN NaN 0.79060 0.79060 2 NaN NaN NaN NaN 0.53859 0.53859 3 0.97469 0.60224 0.90022 0.45015 0.52246 1.87283 4 0.84111 0.52958 0.71513 0.17180 0.34494 1.23187 5 0.21991 0.10479 0.60755 0.79287 0.11051 1.51094 6 0.64966 0.53332 0.76289 0.38522 0.92313 2.07124 7 0.40139 0.41158 0.30072 0.09303 0.37026 0.76401 8 0.59258 0.06255 0.43663 0.52148 0.62933 1.58744 9 0.12762 0.01651 0.09622 0.30517 0.78018 1.18156
如果我理解你的问题,你想要从第9列开始的逐行求和。我相信你想要
.sum(axis=1)
。请参阅下面的示例,使用第2列而不是9列以了解可读性。在相关问题 更多 >
编程相关推荐