我有一个csv文件,其中包含两个格式化的列,这些列当前作为对象读取:
包含百分比值,这些值以字符串形式如“ 0.01%”读入。 %总是结尾。
包含货币值,该值以字符串形式读入,例如“ $ 1234.5”。
我尝试过使用split函数删除数据框内的%或$,然后对拆分结果使用float。这将打印正确的结果,但不会分配值。即使我在float之前进行了拆分,它也会给出类型错误,即float没有拆分功能?
答案 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))