python将一组数据转化为列表_python-将列表从大量字典转换为数据框的问...

博客作者创建了一个字典,将不同数据框中以相同前三个字符开始的列进行分组。然后尝试将每年的数据整合到一个全局字典中。在尝试将新字典的值合并到旧字典时,遇到了TypeError,因为预期是列表但实际上得到的是DataFrame。作者试图将全局字典中的'ABC'键转换为DataFrame,但遇到了错误。解决方案可能涉及确保新字典的值是列表类型,以便能够正确地合并数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我以这种方式创建了一个字典:

数据如下所示:

GDS3:

ABC_1 ABC_2 BBB_1

cat elf 123

dog run 456

bird burp 789

GDS4:

ABC_3 ABC_4 BCB_a

beer yes 234

wine no 543

gin yes 743

GDS5:

ABC_5 ABC_6 BCD_c

lol yea 543

lmao NaN 446

asl NaN 777

#create a dictionary in which all columns that start with the same 3 characters will be grouped in the same key.

dict_2013 = {k: g for k, g in GDS3.groupby(by=lambda x: x[:3].lower(), axis=1)}

dict_2014 = {k: g for k, g in GDS4.groupby(by=lambda x: x[:3].lower(), axis=1)}

dict_2015 = {k: g for k, g in GDS5.groupby(by=lambda x: x[:3].lower(), axis=1)}

#start with year 2013:

global_dict=dict_2013

#if key in the new dictionary is in the old dictionary then

#add the values from the new dictionary key to the old dictionary key

#else if the new dictionary key does not exist in the old dictionary then add a new key with the new values

for key,val in dict_2014.items():

if key in global_dict:

global_dict[key]=[global_dict[key],val]

else:

global_dict[key]=val

for key,val in dict_2015.items():#to add items

if key in global_dict:

global_dict[key]=[global_dict[key],val]

else:

global_dict[key]=val

这是我想要的输出(每个键的数据框)

df_ABC:

ABC_1 ABC_2 ABC_3 ABC_4 ABC_5

cat elf beer yes lol

dog run win no lmao

bird burp gin yes asl

df_BBB:

BBB_1

cat

dog

bird

换句话说,我想将单个键转换为单个字典(对于所有键),因此我尝试了以下操作:

ABC_dataframe=pd.DataFrame(global_dict['ABC'])

当我这样做时,出现以下错误:

TypeError: Expected list, got DataFrame

这很奇怪,因为global_dict [‘ABC’]是一个列表. (我使用type(global_dict [‘ABC’]检查了).

我该怎么做才能纠正这个问题?我尝试拼合列表,但仍然遇到问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值