Python 如何分隔列值以创建新的不同列

Python 如何分隔列值以创建新的不同列,python,pandas,dataframe,tuples,Python,Pandas,Dataframe,Tuples,我有一个数据框,看起来像这样: 它看起来有点像元组。但是我想做的是把逗号后面的所有值放到一个新的列中,名为otros_casos。因此,我的新df应该如下所示: 我不需要那些上面有3或nan的值。以下是我正在使用的代码: dic_cont = data.groupby(['resultado']).otro_caso.value_counts() data_cont = pd.DataFrame([[key, dic_cont[key]] for key in dic_cont.keys()],

我有一个数据框,看起来像这样:

它看起来有点像元组。但是我想做的是把逗号后面的所有值放到一个新的列中,名为otros_casos。因此,我的新df应该如下所示:

我不需要那些上面有3或nan的值。以下是我正在使用的代码:

dic_cont = data.groupby(['resultado']).otro_caso.value_counts()
data_cont = pd.DataFrame([[key, dic_cont[key]] for key in dic_cont.keys()], columns = ['resultado', 'amount'])
data_cont
下面是dic_cont的样子:

我非常感谢你们的帮助。提前感谢。

使用.str将解包元组

In [32]: df = pd.DataFrame({"resultado":[(1,pd.np.NaN),(1,1),(1,2),(2,1),(2,2),(
    ...: 2,pd.np.NaN),(3,1),(3,2),(3,pd.np.NaN)],"amount":[735709,688554,601864,
    ...: 1055853,693378,596613,196078,182715,122275]})

In [33]:  df['resultado'],df['otros_casos']=df['resultado'].str

In [34]: df = df.dropna()

In [35]: df[df['resultado'] !=3]
Out[35]:
   resultado   amount  otros_casos
1          1   688554          1.0
2          1   601864          2.0
3          2  1055853          1.0
4          2   693378          2.0

我得到了未来警告:在未来的版本中将不推荐对角色进行专栏式迭代。你的熊猫版本是什么?@jezrael,它是0.25.3,没有尝试最新版本version@brenda-是的,问题是解决方案在升级之前有效,而不是不使用它。