python - 如何替换 Pandas.DataFrame 上的整个列

标签 python pandas

我想用取自另一个 DataFrame 的另一列替换 Pandas DataFrame 上的一整列,一个示例将阐明我在寻找什么

import pandas as pd
dic = {'A': [1, 4, 1, 4], 'B': [9, 2, 5, 3], 'C': [0, 0, 5, 3]}
df = pd.DataFrame(dic)

df 是

'A' 'B' 'C'
 1   9   0
 4   2   0
 1   5   5
 4   3   3

现在我有另一个名为 df1 的数据框,其中有一列 "E"

df1['E'] = [ 4, 4, 4, 0]

我想用 df1

"E" 列替换 df 的 "B"
'A' 'E' 'C'
 1   4   0
 4   4   0
 1   4   5
 4   0   3

我尝试以多种方式使用 .replace() 方法,但没有得到任何好处。你能帮帮我吗?

最佳答案

如果索引匹配,则:

df['B'] = df1['E']

应该在其他情况下工作:

df['B'] = df1['E'].values

只要元素的长度匹配就可以工作

关于python - 如何替换 Pandas.DataFrame 上的整个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36846060/

相关文章:

python - 使用 FFmPy 将 jpg 转换为 mp4

python - 具有分层列的数据框的 Pandas 数据框

python - 在 jupyter notebook 中,按 tab 打印 "ipynb_checkpoints/"而不是自动完成

Pandas 时间序列重采样和插值在一起

python - Django 跟踪匿名用户

python base64字符串解码

python - mysql-connector-python-2.0.2-py3.3.msi 安装失败

python - Pandas 列重新格式化

python - Pandas 数据框在 groupby agg 之后有额外的标题

python - 从文件中删除停用词