将两个系列合并为数据框的一列

图帕

我有两个系列,我想验证它们是否都有值,所以我可以在值之间放一个逗号。这样,最终结果看起来更有条理。现在,当我将这两个系列合并到 Dataframe 的一列中时,它看起来很混乱。

这就是我的做法:

series1 = df_grouped['mismatchMom'].apply(lambda g: g.any() + ' with mother' if g.any() else None)
series2 = df_grouped['mismatchDad'].apply(lambda g: g.any() + ' with father' if g.any() else None)

df_individual['mismatch'] = series1 + ', ' + series2

它有效,但是每当 series1 或 series2 中没有值或两者都没有值时,逗号看起来真的很奇怪。

我试图做这样的事情:

df_individual['mismatch'] = series1 + ', ' + series2 \
        if series1.bool() & series2.bool() else \
        series1 + series2

(我试过更换bool()isnull()为好),但我得到的错误

ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

谢谢!

雷哈恩妈妈

如果需要,您可以使用它:(如果 s1 和 s2 具有相同的大小)

df['mismatch'] = pd.concat([s1,s2],axis = 1).apply(lambda x: ', '.join(x) if not x.all() == '' else x.sum(),axis=1)

我只是要求更改,None因为 if 语句会像那样简单。

我们的想法是Concat的两个系列柱,只需加入行,如果没有empty strings如果有,我们只对行元素求和。

这样你就可以得到如下输出:

       A     B mismatch
0  stuff  more   aa, aa
1  stuff  more       bb
2  stuff  more       cc
3  stuff  more         
4  stuff  more   ee, ee

没有奇怪的,

希望这是有帮助的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将两个系列合并为一个新的数据框?

熊猫:将两个不同大小的数据框合并到一列

循环将两个数据帧合并为其中一个的每一列

按行标记两个单独的数据框,然后将它们合并为同一列下的一个数据框,但保留行标签

将两个因子/字符列合并为一列

将 Google 表格中的两个单独列合并为一列

熊猫-将两个日期框架合并为一列

将R中的两个元素合并为一列

将两个大小不同的数据框合并为一个

将数据框的五列合并为两个新列表

将两个字典合并为一个数据框

将两个轴上的数据框列表合并为一行

Python:列命名并将两个数据框合并为一个

R:将两个数据框列合并为一

将两个float数据框合并为一个字符串数据框

将两个查询结果合并为一个,然后使用该结果计算另一列

将具有唯一值的两个数据框合并一列

R将两行合并为一个数据框中的多列

如何将一个熊猫数据框中的多列合并为一个系列?

合并两个熊猫数据框(在同一列上连接)

将数据框的两列合并为字典中已存在的一列作为键值对

用不匹配的索引将两个系列合并为一个

将两个熊猫系列索引合并为一个

R将两列合并/合并为一列

在pandas / python的同一数据框中将两列合并为一列

如何将两个线性回归预测模型(每个数据框的子集)合并到数据框的一列中

按列将两个Pandas系列附加到一个数据框

如何在熊猫数据框中将两列合并为一列

如何在 Python 中将两个不同的列合并为一列?