![](/img/trans.png)
[英]How to convert a dictionary into a pandas dataframe with key and values in two separate columns?
[英]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.