Dataframe 中的字符串操作

String Manipulation in Dataframe

大家好,我有一个关于 pandas 数据帧中的字符串操作的快速问题。

假设我们有 2 列如下所示:

问题:

如何只保留每个单元格的字符串部分并删除 [' ']?

非常感谢您的帮助!我期待听到你的好主意!

取决于每个单元格中的值是带方括号 "['AK']" 的字符串还是实际列表:['AK'].

如果是两边带括号的字符串,我们可以去掉两边的括号字符:

df["State"] = df["State"].str.strip("[]")
df["City"] = df["City"].str.strip("[]")

如果它们是列表,您可以用逗号连接它们以将它们变成字符串

df["State"] = df["State"].str.join(", ")
df["City"] = df["City"].str.join(", ")

您可以执行以下操作:

df['City']=df['City'].apply(lambda x: x[2:-2])
df['State']=df['State'].apply(lambda x: x[2:-2])

请使用正则表达式替换所有非字母数字字符

print(df)

   State         City
0  ['AK']  ['Yakutat']
1  ['AK']   ['Apache']

解决方案

df=df.replace(regex='[^\w]',value='')

print(df)



 State     City
0    AK  Yakutat
1    AK   Apache