簡體   English   中英

從數據框創建列表

[英]creating list from dataframe

我是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並創建Serieslist ,然后創建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]}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM