gpt4 book ai didi

python - 从数据框创建列表

转载 作者:行者123 更新时间:2023-12-01 01:41:11 26 4
gpt4 key购买 nike

我是Python新手。我正在尝试在 python 中迭代数据帧的各个列的行。我正在尝试使用从 csv 数据(有 3 列)获取的数据帧的前两列创建邻接列表。

以下是迭代数据帧并为邻接列表创建字典的代码:

df1 = pd.read_csv('person_knows_person_0_0_sample.csv', sep=',', index_col=False, skiprows=1) 

src_list = list(df1.iloc[:, 0:1])
tgt_list = list(df1.iloc[:, 1:2])
adj_list = {}

for src in src_list:
for tgt in tgt_list:
adj_list[src] = tgt


print(src_list)
print(tgt_list)
print(adj_list)

以下是我得到的输出:

['933']
['4139']
{'933': '4139'}

我发现当我使用 list() 构造函数时,我没有获得整个列表。因此我无法循环整个数据。

谁能告诉我哪里出错了?

总而言之,这是输入数据:

A,B,C
933,4139,20100313073721718
933,6597069777240,20100920094243187
933,10995116284808,20110102064341955
933,32985348833579,20120907011130195
933,32985348838375,20120717080449463
1129,1242,20100202163844119
1129,2199023262543,20100331220757321
1129,6597069771886,20100724111548162
1129,6597069776731,20100804033836982

我期望的输出:

933: [4139,6597069777240, 10995116284808, 32985348833579, 32985348838375]
1129: [1242, 2199023262543, 6597069771886, 6597069776731]

最佳答案

使用groupby并创建 listSeries,然后 to_dict :

#selecting by columns names
d = df1.groupby('A')['B'].apply(list).to_dict()

#seelcting columns by positions
d = df1.iloc[:, 1].groupby(df1.iloc[:, 0]).apply(list).to_dict()
<小时/>
print (d)
{933: [4139, 6597069777240, 10995116284808, 32985348833579, 32985348838375],
1129: [1242, 2199023262543, 6597069771886, 6597069776731]}

关于python - 从数据框创建列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51872125/

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