簡體   English   中英

如何將csv格式的數字數據讀入Pandas

[英]How to read csv formatted numeric data into Pandas

我有一個csv文件,其中包含兩個格式化的列,當前作為對象讀入:

  1. 包含以“0.01%”字符串形式讀入的百分比值。 %總是在最后。

  2. 包含以“$ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM