Python 如何分隔列值以创建新的不同列
我有一个数据框,看起来像这样: 它看起来有点像元组。但是我想做的是把逗号后面的所有值放到一个新的列中,名为otros_casos。因此,我的新df应该如下所示: 我不需要那些上面有3或nan的值。以下是我正在使用的代码: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()],
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-是的,问题是解决方案在升级之前有效,而不是不使用它。