我需要根据字典键将字典值分配给特定列

我有一个空的数据框(COUNTRIES_DF),其中只有列标题:

| esp | eng | mex | ger |

A有一个字典,其中键与列名匹配:

{ESP:‘David’, "eng":"Adam", ‘MEX’:‘Jose’}

我需要将值从字典传递到DataFrame,并存储在列名等于键的列中.如果字典不包含来自列名的键,则只需传递Null

最后,它应该是这样的:

esp eng mex ger
David Adam Jose
row=[]
for k,l in names.items():
        for column in countries.columns:
            if k == column:
                row.append(l)
            else: pass
    countries_df.loc[len(countries_df.index)] = row
    i+=1

如果字典有4个键,df有4列,那么它工作得很好.但在其他情况下,我会收到"无法设置列不匹配的行"错误

推荐答案

让我们使用concat,它可以处理names词典中缺失/多余的关键字

pd.concat([countries_df, pd.DataFrame([names])])

     esp   eng   mex  ger
0  David  Adam  Jose  NaN

Python相关问答推荐

如何循环循环的每个元素并过滤掉Python rame中的条件

try 使用tensorFlow.keras.models时optree Import错误

Python中两个矩阵的自定义Hadamard风格产物

telegram 机器人API setMyName不起作用

如何匹配3D圆柱体的轴和半径?

已删除的构造函数调用另一个构造函数

创建带有二维码的Flask应用程序,可重定向到特定端点

是什么导致对Python脚本的jQuery Ajax调用引发500错误?

opencv Python稳定的图标识别

从包含数字和单词的文件中读取和获取数据集

Python Hashicorp Vault库hvac创建新的秘密版本,但从先前版本中删除了密钥

比较两个二元组列表,NP.isin

从dict的列中分钟

修复mypy错误-赋值中的类型不兼容(表达式具有类型xxx,变量具有类型yyy)

为什么numpy. vectorize调用vectorized函数的次数比vector中的元素要多?

Polars asof在下一个可用日期加入

将scipy. sparse矩阵直接保存为常规txt文件

lityter不让我输入左边的方括号,'

如何在Pyplot表中舍入值

python—telegraph—bot send_voice发送空文件