求助:如何移除Pandas DataFrame中字符串的双引号?
移除Pandas DataFrame字符串中的双引号
推荐:用Pandas矢量化操作(效率更高)
不用手动循环,直接对整个username列批量处理:
- 仅移除字符串首尾的双引号:
df['username'] = df['username'].str.strip('"')
- 移除字符串中所有的双引号(包括中间的):
df['username'] = df['username'].str.replace('"', '', regex=False)
如果你坚持用循环处理(不推荐,大数据集效率低)
修改你现有代码里的处理逻辑,注意指定strip的参数,或者用replace:
df_asinn = df.copy() for index, row in df_asinn.loc[:, ["username"]].iterrows(): user_tweet_list = [] # 移除首尾双引号 stripped_screen_name = row['username'].strip('"') # 或者移除所有双引号:stripped_screen_name = row['username'].replace('"', '') df_asinn.at[index, 'username'] = stripped_screen_name
为什么你之前的方法没生效?
- 你用的
strip()没传参数,默认只会移除首尾的空白字符(空格、换行等),必须指定strip('"')才会移除双引号。 translate('"')用法不对,正确的写法是配合str.maketrans来删除指定字符:
stripped_screen_name = screen_name[0].translate(str.maketrans('', '', '"'))
内容的提问来源于stack exchange,提问作者Roald Andre Kvarv
相关产品推荐
相关产品推荐

