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