我正在尝试将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

10-08 02:10