python - 如何防止 pandas 仅将一个 df 的值分配给另一行的另一列?

标签 python python-3.x pandas dataframe

我有一个看起来像这样的 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/

相关文章:

python - PyAudio 混合多个轨道和 channel

python - 将数据框的多列值合并到一个中间带有括号的列中

python-3.x - Pandas - KeyError : 'cannot use a single bool to index into setitem'

python-3.x - 用pyparsing解析数学表达式

Python - Pandas - 时间戳和周期范围之间的区别

python - 使用 matplotlib 绘制时间序列 pandas 数据框时标签错误

python - 根据现有列下一行的元素创建新列

python - 使用扭曲的 python 编码修复 virtualenv 的最快、最轻松的方法是什么?

python - 如何在python中将不同的excel文件合并到一个具有不同工作表名称的工作簿中

python - 根据另一个系列中的值替换系列中的值的快捷方式?