是否有一种简单的方法可以将数据格式为k的数据帧转换为数千个?
实施例。 10k -> 10,000
答案 0 :(得分:2)
鉴于这是数据框的样子
data:
index values
0 10k
1 11k
你可以做到
data['values'].str.replace('k','000')
哪个给你
0 10000
1 11000
答案 1 :(得分:0)
这是一种更通用的方法:
In [24]: df
Out[24]:
a b
0 aaa 111
1 bbb 12.5K
2 ccc 0.03M
In [25]: mp = {'K':' * 10**3', 'M':' * 10**6'}
In [26]: df['c'] = pd.eval(df.b.replace(mp.keys(), mp.values(), regex=True).str.replace(r'[^\d\.\*]+',''))
In [27]: df
Out[27]:
a b c
0 aaa 111 111
1 bbb 12.5K 12500
2 ccc 0.03M 30000
说明:
In [28]: df.b.replace(mp.keys(), mp.values(), regex=True)
Out[28]:
0 111
1 12.5 * 10**3
2 0.03 * 10**6
Name: b, dtype: object