这是我正在使用的数据示例:
df = pd.read_csv('googleplaystore.csv')
category = df['Price'].tolist()
c = list(set(category))
print (sorted(c))
我想按价格对数据框进行排序,但是由于“价格”(Price)列中值的数据类型为字符串,因此我无法对数据框进行排序,也由于字符“ $”而无法转换值。有没有办法删除它或成功对数据框进行排序而不删除“ $”?
我尝试了以下操作,以查看是否可以对目标列进行排序:
{{1}}
答案 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