我有以下名为 data
的数据框:
metrics artists
0 0.21 ['Zhané']
2 0.14 ['Mose Allison']
3 0.87 ['水柳仙']
4 0.25 ['Shel Silverstein']
列“艺术家”的一些记录有特殊字符,我想用有特殊字符的记录再做一个df,即输出如下:
数据:
metrics artists
0 0.14 ['Mose Allison']
1 0.25 ['Shel Silverstein']
数据2:
metrics artists
0 0.21 ['Zhané']
1 0.14 ['水柳仙']
使用:
data2=data.artists[data.artists.str.contains("[^a-zA-Z0-9]")]
但我得到了原来的df,
我也试过:
data2 = []
for x in data['artists']:
if x is not "[^a-zA-Z0-9 ]":
data2[x]=data[x]
print(data2)
但它给了我错误:
KeyError: "['Zhané']"
并与:
if x is "[^ a-zA-Z0-9]"
返回空记录。
答案 0 :(得分:1)
使用:
data2=data.artists[data.artists.str.contains("[^a-zA-Z0-9]")]
但我得到了原来的df,
您在“[^a-zA-Z0-9]”中缺少一个空格,这就是您获得原始 df 的原因。在 Jupyter notebook 中使用 Python3 进行测试。