首页 > 解决方案 > 如何删除熊猫数据框中的特殊字符

问题描述

这是我正在使用的数据示例:

Reviews  Size     Installs  Type     Price      Content Rating  
0     159   19M      10,000+  paid     $9.99       Everyone   
1     967   14M     500,000+  paid     $0.99       Everyone   
2   87510  8.7M   5,000,000+  paid     $1.9        Everyone   
3  215644   25M  50,000,000+  paid     $7.50       Teen   
4     967  2.8M     100,000+  Free     0            Everyone 

我想按价格对数据框进行排序,但由于“价格”列中值的数据类型是字符串,我无法对数据框进行排序,也无法转换值,因为字符“$”。有没有办法在不删除“$”的情况下成功删除它或对数据框进行排序?

我尝试了以下操作,看看是否可以对目标列进行排序:

 df = pd.read_csv('googleplaystore.csv')
 category = df['Price'].tolist()
 c = list(set(category))
 print (sorted(c))

标签: pythonpandas

解决方案


您可以使用str.replace

df['Price'] = df.Price.str.replace('$','')
df.sort_values('Price')

如果您不想删除$可以使用的字符

df = df.iloc[df.Price.str.replace('$','').astype(float).sort_values().index,:]
df.reset_index(drop=True) # To reset index

但是您应该将该列转换为数字,以便能够对您的数据框进行数字操作。


推荐阅读