如何在熊猫数据框中删除特殊字符

时间:2018-10-13 08:55:28

标签: python pandas

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

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

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

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

{{1}}

2 个答案:

答案 0 :(得分:1)

您可以使用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

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

答案 1 :(得分:0)

这是在一个链中完成所有任务的一种方法:

(df.assign(content = df.Content.str.replace("$", ""))
   .sort_values("content", ascending=False)
   .drop("content", 1)
)
   Reviews    Size Installs         Type Price Content    Rating
0        0     159      19M      10,000+  paid   $9.99  Everyone
3        3  215644      25M  50,000,000+  paid   $7.50      Teen
2        2   87510     8.7M   5,000,000+  paid    $1.9  Everyone
1        1     967      14M     500,000+  paid   $0.99  Everyone
4        4     967     2.8M     100,000+  Free       0  Everyone