Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将复杂列(类似字典)转换为多个列_Python_Pandas_Dictionary_Data Munging - Fatal编程技术网

Python 将复杂列(类似字典)转换为多个列

Python 将复杂列(类似字典)转换为多个列,python,pandas,dictionary,data-munging,Python,Pandas,Dictionary,Data Munging,我有一个数据框,有两行和一列: import pandas as pd raw_data = {'T': [[(0, 0.5), (1, 0.25), (2, 0.25)], [(1, 0.99)]]} df = pd.DataFrame(raw_data, columns=['T']) #T #[(0, 0.5), (1, 0.25), (2, 0.25)] #[(1, 0.99)] 正如您所看到的,行是一种字典,我知道字典元素的最大数量(在我们的例子中,如果从0开始计算,则为3或2;)

我有一个数据框,有两行和一列:

import pandas as pd
raw_data = {'T': [[(0, 0.5), (1, 0.25), (2, 0.25)], [(1, 0.99)]]}
df = pd.DataFrame(raw_data, columns=['T'])

#T 
#[(0, 0.5), (1, 0.25), (2, 0.25)]
#[(1, 0.99)]
正如您所看到的,行是一种字典,我知道字典元素的最大数量(在我们的例子中,如果从0开始计算,则为3或2;)。 我想在这个数据框中创建另外三列T0、T1、T2,其中包含以下值:

T0   T1    T2 (df header)

0.5  0.25  0.25

0    0.99  0
  • 可能有两行以上
  • 可能会有更多的列,但这不会影响问题

使用
列表理解
,然后转置,和:


可能的重复我不认为它是重复的,我不明白它是如何解决我的问题的(特别是在熊猫身上)@Farhan.K-谢谢。
df=pd.concat([pd.Series(dict(x)) for x in raw_data['T']], axis=1).T.fillna(0).add_prefix('T')
print (df)
    T0    T1    T2
0  0.5  0.25  0.25
1  0.0  0.99  0.00