Pandas 将数据帧内的列表拆分为多个数据帧
我在这个数据帧中填充了字符串列表,我希望将其分为两个帧: 输入:Pandas 将数据帧内的列表拆分为多个数据帧,pandas,dataframe,split,Pandas,Dataframe,Split,我在这个数据帧中填充了字符串列表,我希望将其分为两个帧: 输入: df = pd.DataFrame({ 'A': {'a': ['NaN'],'b': ['1.11', '0.00']}, 'B': {'a': ['3.33', '0.22'],'b': ['NaN']}, }) 期望输出: df1 = pd.DataFrame({ 'A': {'a': ['NaN'],'b': ['1.11']}, 'B': {'a': ['3.33'],'b': ['NaN']},
df = pd.DataFrame({
'A': {'a': ['NaN'],'b': ['1.11', '0.00']},
'B': {'a': ['3.33', '0.22'],'b': ['NaN']},
})
期望输出:
df1 = pd.DataFrame({
'A': {'a': ['NaN'],'b': ['1.11']},
'B': {'a': ['3.33'],'b': ['NaN']},
})
df2 = pd.DataFrame({
'A': {'a': ['NaN'],'b': ['0.00']},
'B': {'a': ['0.22'],'b': ['NaN']},
})
我尝试使用适用于Series的apply函数,并想知道是否有一种简单的方法可以在整个df上应用实现这一点的操作。您可以
堆叠和应用(pd.Series)
如果您确实需要单个单元格的对象
s[0].unstack().applymap(lambda x : [x])
Out[512]:
A B
a [NaN] [3.33]
b [1.11] [NaN]
s[1].unstack().applymap(lambda x : [x])
Out[513]:
A B
a [nan] [0.22]
b [0.00] [nan]
您可以stack
和apply(pd.Series)
如果您确实需要单个单元格的对象
s[0].unstack().applymap(lambda x : [x])
Out[512]:
A B
a [NaN] [3.33]
b [1.11] [NaN]
s[1].unstack().applymap(lambda x : [x])
Out[513]:
A B
a [nan] [0.22]
b [0.00] [nan]
每个列表中是否总是有1个或2个项目?是的,平均值和标准偏差,或者每个列表中是否总是有1个或2个项目?是的,平均值和标准偏差,或者两者都没有