Python 大熊猫的亚群
我有一个熊猫数据框,其中一列如下所示:Python 大熊猫的亚群,python,pandas,Python,Pandas,我有一个熊猫数据框,其中一列如下所示: 0 {u'funny': 2, u'useful': 0, u'cool': 0} 1 {u'funny': 370, u'useful': 487, u'cool': 296} 2 {u'funny': 2, u'useful': 17, u'cool': 1} 3 {u'funny': 1233, u'useful': 2452, u'cool': 1875} 4
0 {u'funny': 2, u'useful': 0, u'cool': 0}
1 {u'funny': 370, u'useful': 487, u'cool': 296}
2 {u'funny': 2, u'useful': 17, u'cool': 1}
3 {u'funny': 1233, u'useful': 2452, u'cool': 1875}
4 {u'funny': 4, u'useful': 7, u'cool': 2}
5 {u'funny': 408, u'useful': 819, u'cool': 557}
6 {u'funny': 321, u'useful': 673, u'cool': 430}
7 NaN
8 {u'funny': 0, u'useful': 8, u'cool': 0}
我想将此列拆分为单独的列,而不显式地迭代所有行(有很多行,而且这是一种糟糕的做法)
DataFrame.ThisColumn[1][“有趣”]
返回2,但DataFrame.ThisColumn[:][“有趣”]
不起作用
我如何将其拆分为单独的列
谢谢。您可以将序列构造函数应用于该列:
In [11]: df
Out[11]:
dics
0 {u'funny': 2, u'useful': 0, u'cool': 0}
1 {u'funny': 370, u'useful': 487, u'cool': 296}
2 {u'funny': 2, u'useful': 17, u'cool': 1}
3 {u'funny': 1233, u'useful': 2452, u'cool': 1875}
4 {u'funny': 4, u'useful': 7, u'cool': 2}
5 {u'funny': 408, u'useful': 819, u'cool': 557}
6 {u'funny': 321, u'useful': 673, u'cool': 430}
7 {u'funny': 0, u'useful': 8, u'cool': 0}
In [12]: df['dics'].apply(pd.Series)
Out[12]:
cool funny useful
0 0 2 0
1 296 370 487
2 1 2 17
3 1875 1233 2452
4 2 4 7
5 557 408 819
6 430 321 673
7 0 0 8
然而,我认为几乎可以肯定的是,在构建数据帧时分割这些数据帧是最好的,而不是一旦它们已经在数据帧中。@N.McA。好吧,无论您如何获取数据,最好先尝试使用它!:)这是一个JSON,已经格式化成这样,我不负责删除它,所以我不确定我是否can@N.McA. 也许值得一看(有一个问题,所以我想韦斯认为它相当稳定)。干杯,我会的。请注意,我编辑了我的问题,以包括一个NA。。。你知道如何最好地处理这个问题吗?嗯,一个简单的方法就是应用一些类似的东西,例如:make_series=lambda x:pd.series(x)如果x==nan else x,可能还有一种更有效的方法。