簡體   English   中英

Pandas 如何用混合型列讀取 csv

[英]Pandas how to read csv with mixed type column

這就是我想要的。 當我運行以下代碼時

import pandas as pd
df = pd.DataFrame({'col': ['a', 1, 2, 3]})
print(df[1:].infer_objects().dtypes)

結果是預期的: col int64如果我加載與 csv 相同的 Dataframe ,則結果不同:

import pandas as pd
pd.DataFrame({'col': ['a', 1, 2, 3]}).to_csv('tmp.csv', index=False)
df = pd.read_csv('tmp.csv')
print(df[1:].infer_objects().dtypes)

我得到col object

為什么結果不同? 在第二種情況下,我應該如何加載 csv 以獲取col int64

我認為使用 pandas 的read_csv() function 提取的列默認情況下是包含字符串的列,以避免任何問題。

但是,您可以使用以下方法修改列的類型:

df['your_column'] = pd.to_numeric(df['your_column'])

或整個數據框:

df = df.apply(pd.to_numeric)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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