如果我們有以下字典串列:
df=[{'answers': ['Yes', 'No'], 'question': 'status', 'type': 'string'}]
如何將上面的串列拆分為兩個字典,并且答案鍵只有一個值:
df=[{'answers': ['Yes'], 'question': 'status', 'type': 'string'}, {'answers': ['No'], 'question': 'status', '型別':'字串'}]
任何指導將不勝感激。謝謝
uj5u.com熱心網友回復:
我認為您的意思是您使用 DataFrames(因此您的變數名稱df)。在這種情況下,pandas 已經為這個特定用例提供了一個函式explode:
import pandas as pd
df = pd.DataFrame([{'answers': ['Yes', 'No'], 'question': 'status', 'type': 'string'}])
print(df.explode('answers'))
輸出:
answers question type
0 Yes status string
0 No status string
編輯:您可以使用以下命令輕松回傳字典形式to_dict:
df = df.explode('answers')
print(df.to_dict(orient='records'))
輸出:
[{'answers': 'Yes', 'question': 'status', 'type': 'string'}, {'answers': 'No', 'question': 'status', 'type': 'string'}]
uj5u.com熱心網友回復:
你可以試試這個:
import copy
df=[{'answers': ['Yes', 'No'], 'question': 'status', 'type': 'string'}]
df2=copy.deepcopy(df)
content = df[0]
for x,y in content.items():
if (len(y) > 1) and isinstance(y,list):
df[0][x]=y[0]
df2[0][x]=y[1]
# print(df)
print(df2)
print(df)
但是這僅適用于 2 個串列而不是更多
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/347788.html
上一篇:創建一個Python函式,該函式將為字符計數元組創建字典,分配給元音、輔音或其他鍵的鍵
下一篇:撰寫此函式的正確方法是什么?
