python - pandas .replace 删除第一个值但不添加第二个值

标签 python pandas replace

我正在尝试将 .csv 列中的数据:“1(1789-1790)”替换为单个年份:“1789”

我首先阅读.csv:

df = pd.read_csv('congress1.csv', delimiter = ';', names = ['Name', 'Years', 'Position', 'Party', 'State', 'Congress'], header = 0)

然后我对 column='Congress' 中的数据运行 .replace 并为其提供新字符串:

df['Congress'] = df['Congress'].replace('1(1789-1790)', '1789', inplace=True)

但是,当我打印数据时,该列显示“无”。

最佳答案

当您使用inplace=True时,replace方法返回None(然后您重新分配给它)并就地修改对象。

演示:

>>> s = pd.Series([1,2,3])
>>> s
>>> 
0    1
1    2
2    3
dtype: int64
>>> 
>>> res = s.replace(1, 2, inplace=True)
>>> res is None
>>> True
>>> s
>>> 
0    2
1    2
2    3
dtype: int64

s 已就地修改,resNone!

您可以简单地省略 inplace=True 部分,或者不重新分配给 df['Congress']

关于python - pandas .replace 删除第一个值但不添加第二个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53135953/

相关文章:

python - 如何在 Keras Lambda 层中使用 OpenCV 函数?

python - 编写 if-else 循环以根据条件填充数据框列时出现 ValueError

python - 如何更改从字典创建的数据帧的索引和列而不显示 NAN 值?

python - django 编写我的第一个自定义模板标签和过滤器

python - 有条件替换 Pandas

java - Java 如何高效替换 XML 文档中的字符?

python - Pandas:在最大第 n 个定界符之后提取字符串

python - SQLalchemy Core,检索更新行的 ID

python - 使用 python 线程锁和循环导入时的意外行为

python - 如何将此 json 对象转换为 pandas 数据框?