簡體   English   中英

如何將兩個熊貓列轉換為字典,但將同一第一列(鍵)的所有值合並為一個鍵?

[英]How to convert two pandas columns into a dictionary, but merge all values of same first column (key) into one key?

抱歉,標題混亂,基本上我有一個Pandas數據框,我想將兩列轉換成字典(一個是鍵,另一個是值)。 但是,當我使用to_dict()時,問題在於,由於第一列中有許多行具有相同的值,因此只需要其中一行,而不能獲取所有數據。 有辦法解決這個問題嗎?

我試圖遞歸地解決這個問題,但我一直無法弄清楚。

編輯:添加代碼

data = pd.read_csv('file')
datalist = []
data2list = []


for i in range(len(data.index)):
    datalist.append(data.loc[i, 'column1'])

for i in range(len(data.index)):
        data2list.append(data.loc[i, 'column2'])

現在,數據列表具有我想要成為鍵的column1中的所有值,而column2具有想要作為字典中的值的所有值。

但是問題是,數據框看起來像這樣:

   column1   column2
0  key1      value1
1  key1      value2
2  key2      value3
3  key2      value4

我希望字典看起來像這樣:

dict = {"key1": [value1, value2], "key2": [value3, value4]}

Python字典不支持重復鍵。 您可以通過調整第一列中的值來解決此問題,以免重復鍵。 或者,您可以為第一列中的每個唯一鍵創建一個列表字典。 由於您的數據在Pandas DataFrame中,因此您可以執行以下操作:

import pandas as pd

# Your data
data = pd.DataFrame({'column1':['key1','key1','key2','key2'],
       'column2':['value1','value2','value3','value3']})

# Grouped dict
data_dict = data.groupby('column1').column2.apply(list).to_dict()       

暫無
暫無

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

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