[英]How to create a dictionary and a dataframe in Python through loops
例如,如果
list1=[1,2,3]
list2=[[1,1,1],[2,2,2],[3,3,3]]
我想創建一個字典
dict1={'1':[1,1,1],'2':[2,2,2],'3':[3,3,3]}
如何通過循環實現它? 我試過了
dict1=dict().fromkeys(list1)
for i in range(len(list1)):
dict1['i']=list2[i]
但是我失敗了,所以有人可以幫助我解決這個問題嗎? 還有一個問題,如果我首先創建一個空的數據框df1,
df1=pd.DataFrame()
我希望將list1中的元素用作df1的列名稱。 我怎么知道呢?
謝謝你的協助!
您可以將zip()
與dict()
,將兩個列表轉換為字典:
dict(zip(list1, list2))
# {1: [1, 1, 1], 2: [2, 2, 2], 3: [3, 3, 3]}
要構建以list1
作為列的數據框:
pd.DataFrame(dict(zip(list1, list2)))
# 1 2 3
#0 1 2 3
#1 1 2 3
#2 1 2 3
如果您嘗試使用失敗
dict1['i']
代替
dict1[i]
由於您僅使用字母/字符串i
作為鍵,而您具有從列表生成的鍵,即['1','2','3']
如果您剛開始,應該考慮像這樣編寫代碼,然后移動python方式。
dict1 = {}
for i, key in enumerate(map(str,list1)):
if key not in dict1:
dict1[key] = list2[i]
這會讓您思考字典。
如果要使用循環,可以將項目附加到字典中。
d = {}
l = [1,2,3,4,5]
for i in range(len(l)):
d[i] = l[i]
當您打印d時,您將得到{0:1,1:2:2,2:3,3:4,4,4:5}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.