【发布时间】:2021-09-17 10:46:22
【问题描述】:
我正在努力让它发挥作用。我掩盖了 NaN,然后将两个系列连接起来。不能以这种方式使用+ 进行连接吗?如果不是最好的方法是什么?
row_mask = df[df[win_end].notnull()]
df.loc[row_mask, df['window_full']] = df.loc[row_mask, win_start]+' - '+df.loc[row_mask, win_end]
print(df['window_start', 'window_end', 'window_full'])
输入
win_start win_end
2021-12-16 2021-12-18
2022-01-19 NaN
2022-01-18 2022-01-20
预期输出
win_start win_end window_full
2021-12-16 2021-12-18 2021-12-16 - 2021-12-18
2022-01-19 NaN NaN
2022-01-18 2022-01-20 2022-01-18 - 2022-01-20
错误
ValueError: Cannot index with multidimensional key
编辑
感谢您的快速回复。所以我尝试使用'window_full',但仍然出现错误:-
ValueError: Cannot index with multidimensional key
编辑 2 工作解决方案需要通过布尔掩码:-
row_mask = df['win_end'].notnull()
df.loc[row_mask, 'window_full'] = (df.loc[row_mask, 'win_start']+' - '+df.loc[row_mask, 'win_end'])
【问题讨论】:
标签: python pandas concatenation mask