我有下面显示的数据帧。 数据框:
col_1 col_2
EDU facebook
EDU google
EDU google_usa
EDU tabula
EDU xyz
EDU abc
IAR facebook
IAR google
如果col_1
有'EDU',列2有'facebook', 'google'
新列应该有相同的字符串,即facebook and google
,如果列2包含'google_usa',tabula'
,则新列应该包含'gusa',如果col 2有任何其他字符串,则在同一数据帧中ne_col应该有others
。
如果col_1
有'IAR',col_2
有{col_2
中的任何其他字符串都应该在同一数据框中包含'other'
。在
预期产量:
^{pr2}$我试过下面的代码,但没用出去,拜托在这方面帮助我。 提前谢谢。在
if df['col_1'].str.contains('EDU').any():
df['new_col'] = ['facebook' if 'facebook' in x else
'google' if 'google' == x else
'gcusa_tb' if 'taboola' in x else
'gcusa_tb' if 'google_cusa' in x else
'Others' for x in df['col_2']]
我相信这是理解代码如何工作的最简单方法,这样您就可以将它应用于更多的情况,而不仅仅是这个例子。这相当直观。你可以边走边加逻辑。在
1)首先我们创建一个函数
2)应用上述功能
输出(我的col1和col2向后。别介意。这样读起来更容易):
^{pr2}$我会使用几个numpy命令:
注:你的要求与你提出的结果不完全一致,我希望我已经正确地解释了这个要求。我的代码将输出:
^{pr2}$相关问题 更多 >
编程相关推荐