Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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
Pandas 将数据帧内的列表拆分为多个数据帧_Pandas_Dataframe_Split - Fatal编程技术网

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个项目?是的,平均值和标准偏差,或者两者都没有