我正在尝试转动 data from a .csv进入 Pandas df:
df = pd.read_csv('congress1.csv', delimiter = ';', names = ['Name', 'Years', 'Position', 'Party', 'State', 'Congress'], header = 0)
我想将“国会”列中的数据 - “1(1789-1790)” - 替换为单个日期 - “1789”:
df['Congress'] = df['Congress'].replace('1(1789-1790)', '1789')
但是,这样做不会更改我的任何数据。如果我说,包括 inplace=True
df['Congress'] = df['Congress'].replace('1(1789-1790)', '1789', inplace=True)
...我在那列中的数据当然变成了空。但我似乎无法用任何有意义的东西替换这个字符串。
最佳答案
这里有两个问题:
- 您应该使用
.str
部分将列“解释”为字符串;和 - 您需要转义方括号。
df['Congress'] = df['Congress']<b>.str</b>.replace(<b>r</b>'1<b>\</b>(1789-1790<b>\</b>)', '1789')
因此我们将字符串部分替换为1789
。
关于python - 用 Pandas .replace 替换列数据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53141072/