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