簡體   English   中英

如何從csv中讀取列名作為pandas中的整數

[英]How to read column names from csv as integer in pandas

似乎pd.read_csv()的默認值是將列名讀取為str 我找不到記錄的行為,因此找不到更改它的位置。

有沒有辦法告訴read_csv()將列名作為整數讀入?

或者也許解決方案是在調用pd.DataFrame.to_csv()時指定數據類型。 無論哪種方式,在寫入 csv 時,列名都是整數,讀取時不會保留。

我正在使用的代碼與此(信用)松散相關:

df = pd.DataFrame(index=pd.MultiIndex.from_arrays([[], []]))
for row_ind1 in range(3):
    for row_ind2 in range(3, 6):
        for col in range(6, 9):
            entry = row_ind1 * row_ind2 * col
            df.loc[(row_ind1, row_ind2), col] = entry

df.to_csv("df.csv")

dfr = pd.read_csv("df.csv", index_col=[0, 1])
print(dfr.loc[(0, 3), 6])       # KeyError
print(dfr.loc[(0, 3), "6"])     # No KeyError

我的臨時解決方案是:

dfr.columns = dfr.columns.map(int)

暫無
暫無

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

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