[英]How to read csv formatted numeric data into Pandas
我有一個csv文件,其中包含兩個格式化的列,當前作為對象讀入:
包含以“0.01%”字符串形式讀入的百分比值。 %總是在最后。
包含以“$ 1234.5”字符串形式讀入的貨幣值。
我已經嘗試使用split函數刪除數據框內的%或$,然后在split的結果上使用float。 這將打印正確的結果,但不會分配值。 它還給出了一個類型錯誤,浮動沒有拆分函數,即使我在浮點數之前進行拆分????
嘗試這個:
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)
您可能正在尋找apply方法。
同
df['first_col'] = df['first_col'].apply(lambda x: float(x.strip('%'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.