简体   繁体   English

从dict向现有Pandas数据框中的列标题添加键

[英]Adding keys from dict to columns headers in an existing Pandas dataframe

I have a dataframe ('DF1') and I have a dict ('dictdf'). 我有一个数据框('DF1'),我有一个字典('dictdf')。 I want to add columns headers based on the dict, those columns needs to be empty. 我想基于字典添加列标题,这些列需要为空。

DF1: DF1:

ID  age

12   33
23   55
67   12

result: 结果:

ID  age  height  eye_color  ....  

12   33    NA      NA       ....
23   55    NA      NA       ....
67   12    NA      NA       ....

This is what I tried: 这是我尝试的:

colNames = DF1.columns
for key in dictdf.keys():
    colNames.append(key)

newDF = pd.DataFrame(DF1,columns=colNames)

Error: 错误:

TypeError: all inputs must be Index

Any idea on a simple solution? 有一个简单的解决方案的主意吗? I don't want to start transforming from dict to DF or the other way around. 我不想开始从dict转换为DF或其他方式。

You can use pd.DataFrame.join with an empty dataframe with defined columns. 您可以将pd.DataFrame.join与具有定义的列的空数据pd.DataFrame.join一起使用。 As a single operation, this will be more efficient than manual appending columns in a loop. 作为一个单独的操作,这将比在循环中手动添加列更为有效。

d = {'height': 120, 'eye_color': 'brown'}

df = df.join(pd.DataFrame(columns=d))

print(df)

   ID  age height eye_color
0  12   33    NaN       NaN
1  23   55    NaN       NaN
2  67   12    NaN       NaN

Use append for all cols with reindex : 对带有reindex所有col使用append

d = {'height': 120, 'eye_color': 'brown'}

df = df.reindex(columns=df.columns.append(pd.Index(d)))
print (df)
   ID  age  height  eye_color
0  12   33     NaN        NaN
1  23   55     NaN        NaN
2  67   12     NaN        NaN

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从嵌套的dict创建一个Pandas Dataframe,以行索引作为dict键,并为每个键具有不同列的dict - Create a pandas Dataframe from a nested dict with row indices as dict keys and a dict with different columns per key 从嵌套dict创建pandas数据帧,外键为df索引和内键列标题 - Create pandas dataframe from nested dict with outer keys as df index and inner keys column headers dict_keys & dict_values append 到现有 dataframe 中的列 - dict_keys & dict_values append to columns in existing dataframe 熊猫数据框列的字典 - dict from columns of pandas dataframe columns Pandas:从dict在DataFrame中创建命名列 - Pandas: create named columns in DataFrame from dict 带有MultiIndex列的dict中的Pandas Dataframe - Pandas Dataframe from dict with MultiIndex columns 熊猫数据框-从字典添加列 - Pandas dataframe - adding a column from a dict 如何在将 dict 转换为 pandas DataFrame 时设置列标题(其中列名与 dict 键不匹配)? - How to set column headers while converting dict to pandas DataFrame (where column names do not match dict keys)? 熊猫和字典:将Dict转换为DataFrame并将值中的内部键用作DataFrame列标题 - Pandas and Dictionary: Convert Dict to DataFrame and use inner keys in values as DataFrame column headers 从 pandas dataframe 列中的列表中分离 dict 到不同的 dataframe 列 - separate dict from list in pandas dataframe column into different dataframe columns
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM