Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果列中被视为索引的值多次出现,如何从保留所有值的数据帧中获取dict?_Python_Pandas_Dataframe - Fatal编程技术网

Python 如果列中被视为索引的值多次出现,如何从保留所有值的数据帧中获取dict?

Python 如果列中被视为索引的值多次出现,如何从保留所有值的数据帧中获取dict?,python,pandas,dataframe,Python,Pandas,Dataframe,有没有一个最佳的方法来做这样的事情 假设我有以下数据帧: A B 0 1 1 1 1 2 2 2 3 3 2 4 4 2 5 我想买一本这样的字典: {1:[1,2],2:[3,4,5]} 请记住,列表的长度不同,因为值1出现两次,值2出现三次。如果我尝试 df.将索引(“A”)设置为dic(“列表”) Pandas仅为A中的每个值保留B中的最后一个值,并返回以下dict: {1:[2],2:[5] 与列表一起使用用于系列,然后: 与列表

有没有一个最佳的方法来做这样的事情

假设我有以下数据帧:

    A   B
0   1   1
1   1   2
2   2   3
3   2   4
4   2   5
我想买一本这样的字典:

{1:[1,2],2:[3,4,5]}
请记住,列表的长度不同,因为值
1
出现两次,值
2
出现三次。如果我尝试

df.将索引(“A”)设置为dic(“列表”)
Pandas仅为A中的每个值保留B中的最后一个值,并返回以下dict:

{1:[2],2:[5]
列表一起使用
用于
系列
,然后:

列表
一起用于
系列
,然后:


您可以按
A
分组,并将
B
中的值转换为列表:

result = {key: group['B'].tolist() for key, group in df.groupby('A')}
print(result)
输出

{1: [1, 2], 2: [3, 4, 5]}

您可以按
A
分组,并将
B
中的值转换为列表:

result = {key: group['B'].tolist() for key, group in df.groupby('A')}
print(result)
输出

{1: [1, 2], 2: [3, 4, 5]}