我正在尝试将data from a .csv转换为Pandas df:
df = pd.read_csv('congress1.csv', delimiter = ';', names = ['Name', 'Years', 'Position', 'Party', 'State', 'Congress'], header = 0)
我想用单个日期“ 1789”替换“会议”列中的数据“ 1(1789-1790)”:
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'].str.replace(r'1\(1789-1790\)', '1789')
因此,我们将字符串部分替换为
1789
。