如何将csv格式的数值数据读取到Pandas中

时间:2018-08-26 15:46:37

标签: python pandas csv

我有一个csv文件,其中包含两个格式化的列,这些列当前作为对象读取:

  1. 包含百分比值,这些值以字符串形式如“ 0.01%”读入。 %总是结尾。

  2. 包含货币值,该值以字符串形式读入,例如“ $ 1234.5”。

我尝试过使用split函数删除数据框内的%或$,然后对拆分结果使用float。这将打印正确的结果,但不会分配值。即使我在float之前进行了拆分,它也会给出类型错误,即float没有拆分功能?

2 个答案:

答案 0 :(得分:2)

尝试一下:

import pandas as pd

df = pd.read_csv('data.csv')

"""
The example df looks like this:
    col1     col2
0  3.04%  $100.25
1  0.15%    $1250
2  0.22%     $322
3  1.30%     $956
4  0.49%     $621
"""

df['col1'] = df['col1'].str.split('%', expand=True)[[0]]
df['col2'] = df['col2'].str.split('$', 1, expand=True)[[1]]

df[['col1', 'col2']] = df[['col1', 'col2']].apply(pd.to_numeric)

答案 1 :(得分:1)

您可能正在寻找apply方法。

使用

malloc(x*sizeof(char))