簡體   English   中英

將元組列表轉換為數據框並在python中轉置

[英]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.

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