【发布时间】:2021-02-10 23:37:51
【问题描述】:
我有一个看起来像这样的 Pandas 数据框:
ID Dyn
0 AA01 0.084, 0.049, 0.016, -0.003, 0, 0.025, 0.954, 1
1 BG54 0.216, 0.201, 0.174, 0.175, 0.179, 0.191, 0.200
我正在寻找一种方法来遍历 Dyn 列,生成另一个仅对大于截止值的数字求和的方法,即:0.150,并为传递它的所有值分配一个值。 这就是预期的结果:
ID Dyn Sum
0 AA01 0.084, 0.049, 0.016, -0.003, 0, 0.025, 0.954, 1 2
1 BG54 0.216, 0.201, 0.174, 0.175, 0.179, 0.191, 0.200 7
我认为我可以使用 apply,同时遍历所有行:
for index, rows in df.iterrows():
df['Sum'] = df['Dyn'].apply(lambda x: x = 1 if int(x) > 0.150 )
但我不知道如何将条件(仅在大于 0.150 的情况下求和)应用于“Dyn”中的所有值以及如何将 1 的值分配给它们。 接受所有建议。谢谢!
【问题讨论】:
标签: python python-3.x pandas dataframe apply