我有一个看起来像这样的 df:
id col1 col2
1 2 3
4 5 6
7 8 9
当我添加新列并分配如下值时:
df['new_col'] = old_df['email']
分配仅将值分配给第一个,如下所示:
id col1 col2 new_col
1 2 3 a@a.com
4 5 6 NaN
7 8 9 NaN
如何为所有行进行分配,如下所示:
id col1 col2 new_col
1 2 3 a@a.com
4 5 6 a@a.com
7 8 9 a@a.com
编辑:
旧_df:
id col3 col4 email
1 2 3 a@a.com
最佳答案
index 的 Pandas 系列作业作品。由于 old_df
仅包含索引 0
,因此仅更新 df
的索引 0
,即第一行。
对于您的特定问题,您可以使用 iat
并将标量分配给系列:
df['new_col'] = old_df['email'].iat[0]
这是有效的,因为 Pandas 将标量广播到整个系列,而不考虑索引。
关于python - 如何防止 pandas 仅将一个 df 的值分配给另一行的另一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54174283/