[英]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.