gpt4 book ai didi

Python 多个 DataFrame 到字典

转载 作者:太空宇宙 更新时间:2023-11-03 20:34:26 24 4
gpt4 key购买 nike

我有几个具有不同行数的 2 列数据框。本质上,第一列是分类字符串值,第二列是标签编码的数值。现在,当我评估模型输出中的特征值时,我只看到数值,而我想查看分类值。

最好的方法是创建列表/字典的字典,然后循环遍历值等于并替换的字典?

我愿意接受不同的方法。

df1 = df1[['A1','A2']].drop_duplicates().sort_values(by=['A2'])
df2 = df2[['B1','B2']].drop_duplicates().sort_values(by=['B2'])
df3 = df3[['C1','C2']].drop_duplicates().sort_values(by=['C2'])

所以...

df1
A1 A2
cat 1

df2
B1 B2
dog 2

df3
C1 C2
fish 3
bird 4

dict= {df1: {cat:1}, df2: {dog:2}, df3: {fish:3}}

最佳答案

假设您遗漏了“鸟”是一个疏忽:

代码:

import pandas as pd
df1 = pd.DataFrame(data = [['cat', 1]], columns=['A1', 'A2'])
df2 = pd.DataFrame(data=[['dog', 2]], columns=['B1', 'B2'])
df3 = pd.DataFrame(data=[['fish', 3], ['bird', 4]], columns=['C1', 'C2'])
result = {"df{}".format(i): dict(df.values.tolist()) for i, df in enumerate([df1, df2, df3], start=1)}
print(result)

输出:

{'df1': {'cat': 1}, 'df2': {'dog': 2}, 'df3': {'fish': 3, 'bird': 4}}

或者,您可以按如下方式创建平面字典。 (DataFrame 信息丢失。)

替代方案:

alt = {k: v for df in [df1, df2, df3] for k, v in df.values.tolist()}
print(alt)

输出:

{'cat': 1, 'dog': 2, 'fish': 3, 'bird': 4}

关于Python 多个 DataFrame 到字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57262223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com