楼主: 我是小趴菜
597 0

[数据挖掘工具] 从字典中引用Pandas dataframe列标题 [推广有奖]

  • 0关注
  • 4粉丝

教授

35%

还不是VIP/贵宾

-

威望
0
论坛币
29650 个
通用积分
380.5350
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
7150 点
帖子
670
精华
0
在线时间
37 小时
注册时间
2022-8-30
最后登录
2023-4-4

楼主
我是小趴菜 发表于 2022-10-12 14:12:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

我有一个数据帧,df列标题为xx,yy,zz,aaa


然后我有名单


A=['xx']

B=['yy']

C=['zz']

我可以从这本词典中引用这些标题吗?


dic={'key1':['A','B'],

key2: ['C','D']}


df[dic[key1[0]]]

给出列xx的输出?


xx

0 44

1 44

2 44

3 33

解决办法:是的你可以。只需将列表本身传递到字典中,而不是使用列表名称的字符串。您还需要修改字典的调用(请参阅下面的说明)。试试这个:


dic={'key1':[A,B], 'key2': [C,D]}

col = df[dic['key1'][0][0]]

print(col)

说明:


您的目标是获取dataframe列df['xx']。要从'xx'字典中获取,您需要在字典中获取所需键的值。你的通话中有一个拼写错误,因为你的密钥是一个字符串,所以你需要写dic['key1']。这将返回[['xx'],['yy']]返回2个子列表的列表。从这个列表中你需要获得第一个具有索引的子列表[0]。那么,dic['key1'][0]会给你子列表['xx']。但是因为这也是一个列表而你实际上想要它的第一个元素,所以你必须再次使用索引[0]。因此,调用 dic['key1'][0][0]将为您提供所需的字符串'xx'。


备注:如果A真的只包含一个包含一个元素的列表,我建议不要使用列表而只是写A = 'xx'。然后,您可以保存第二次[0]调用字典,并且dataframe列的调用将如下所示:df[dic['key1'][0]]




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Dataframe pandas panda Frame Data

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 11:31