簡體   English   中英

從 pandas 空 dataframe 創建一個只有列名的字典

[英]Create a dictionary from pandas empty dataframe with only column names

我有一個 pandas 數據框,只有兩列名稱(單行,也可以視為標題)。我想用它制作一個字典,第一列是值,第二列是鍵。我已經嘗試了to.dict()方法,但它不起作用,因為它是一個空的 dataframe。

示例df=|土地 |挪威| 到{'土地':挪威}

我可以將 pandas 數據框更改為其他類型並找到解決方法,但這個問題主要是為了學習解決這個問題的最佳/不同/有效方法。

現在我有這個作為解決方案:

dict(zip(a.iloc[0:0,0:1],a.iloc[0:0,1:2]))

還有其他方法嗎?

非常手動的解決方案

df = pd.DataFrame(columns=['Land', 'Norway'])

df = pd.DataFrame({df.columns[0]: df.columns[1]}, index=[0])

如果您有任意數量的列並且您希望每個順序對都具有此轉換,請嘗試:

df = pd.DataFrame(dict(zip(df.columns[::2], df.columns[1::2])), index=[0])

注意:如果您的DataFrame沒有至少兩列,您將收到錯誤消息。

這是將列轉換為列表並將列表轉換為字典的簡單方法

def list_to_dict(a):
    it = iter(a)
    ret_dict = dict(zip(it, it))
    return ret_dict

df = pd.DataFrame([], columns=['Land', 'Normway'])
dict_val = list_to_dict(df.columns.to_list())
dict_val # {'Land': 'Normway'}

暫無
暫無

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

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