Pandas文件操作k到1000

时间:2017-07-18 04:24:24

标签: python pandas

是否有一种简单的方法可以将数据格式为k的数据帧转换为数千个?

实施例。 10k -> 10,000

2 个答案:

答案 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