[英]Convert list of tuples to dataframe and tranpose it in python
我想將元組列表轉換為熊貓數據框,如下所示。 我想將元組轉換為熊貓數據框並進行轉置。
data = {'Document_No':[0.0,1.0,2.0,3.0,4.0], 'list_of_topics':[[(0, 0.039169993), (1, 0.023344912)],[(0, 0.17865846), (1, 0.01093025)],[(0, 0.039170124), (1, 0.023344917)], [(0, 0.17865846), (1, 0.01093025)], [(0, 0.039170124), (1, 0.023344917)]]}
df = pd.DataFrame(data=data)
Document_No list_of_topics
0 0.0 [(0, 0.039169993), (1, 0.023344912)]
1 1.0 [(0, 0.17865846), (1, 0.01093025)]
2 2.0 [(0, 0.039170124), (1, 0.023344917)]
3 3.0 [(0, 0.17865846), (1, 0.01093025)]
4 4.0 [(0, 0.039170124), (1, 0.023344917)]
data = {'0':[0.039169993,0.023344912], '1':[0.17865846,0.01093025],'2':[0.039170124,0.023344917], '3':[0.17865846,0.01093025],'4':[0.039170124,0.023344917]}
desired_result= pd.DataFrame(data)
0.0 1.0 2.0 3.0 4.0
0 0.039169993 0.17865846 0.039170124 0.17865846 0.039170124
1 0.023344912 0.01093025 0.023344917 0.01093025 0.023344917
您可以使用列表推導進行一些預處理,然后將其傳遞給DataFrame構造函數:
df = pd.DataFrame([[j[1] for j in i] for i in data['list_of_topics']], index=data['Document_No']).transpose()
產量:
0.0 1.0 2.0 3.0 4.0
0 0.039170 0.178658 0.039170 0.178658 0.039170
1 0.023345 0.010930 0.023345 0.010930 0.023345
與@ rahlf23類似,沒有列表理解的方法是通過將list_of_topics
轉換為字典結構來工作的:
>>> pd.DataFrame(list(map(dict,df.list_of_topics.tolist())),index=data['Document_No']).T
0.0 1.0 2.0 3.0 4.0
0 0.039170 0.178658 0.039170 0.178658 0.039170
1 0.023345 0.010930 0.023345 0.010930 0.023345
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.