【发布时间】:2020-11-08 03:29:56
【问题描述】:
我有一个数据框df。我想添加 2 个新列 0 和 1 并一次将数据添加到这些列中,而不是一次添加完整的列。通过对df 中的所有行使用pd.Series,我在除最后一行之外的新列数据中得到NaN 值。为我提供解决此问题的方法。
我需要一次添加一行数据。请提供相应的解决方案。
df
val
1
2
3
代码
for j in range(len(df)):
for i in range(2):
cal = df.val.iloc[j] + 10
df[i] = pd.Series(cal, index=df.index[[j]])
输出
val | 0 | 1
1 | NaN | NaN
2 | NaN | NaN
3 | 13.0 | 13.0
预期输出
val | 0 | 1
1 | 11.0 | 11.0
2 | 12.0 | 12.0
3 | 13.0 | 13.0
编辑 我实际上在 stackoverflow 上问了一个问题,我无法得到答案。这就是为什么我试图浓缩这个问题并以这种方式提出。如果可能的话,你们都可以检查原始问题here
【问题讨论】:
-
为什么要一次在行上添加数据?这违背了 pandas 的初衷。
-
实际上这是我在stackoverflow上实际询问过的问题的一种浓缩形式,但没有得到答案。所以我想以更简单的方式呈现同样的内容。您可以查看我的原始问题并在那里回答 @user3483203 stackoverflow.com/questions/62958702/…
标签: python pandas loops dataframe nan