我尝试默认为findall方法返回0或找不到任何内容的字符串值。你知道吗
已尝试:
df['C'] = np.where(df['A']=='123',df['B'].str.findall('listofvalues').apply(', '.join), ''), 'N/A'
以及:
df['C'] = np.where(df['A']=='123',df['B'].str.findall('listofvalues').apply(', '.join), '') | df['C']='N/A'
还有其他一些变化。你知道吗
input
A B
123 A B C
123 B C D
123 X Y Z
321 E B G
321 H I B
desired output
A B C
123 A B C B, C
123 B C D B, C
123 X Y Z **N/A**
321 E B G
321 H I B
这很有效。。。我只想把它合并成一行
df['C'] = np.where(df['A']=='123',df['B'].str.findall('listofvalues').apply(', '.join), ''), 'N/A'
df['C'] = np.where(df['A']=='123', df['C'].replace(r'', 'N/A'), df['C'])
值得注意的是
.str
也适用于列表。如果.str.len
大于1,则可以使用.str[0]
对值进行切片,而不是join。你知道吗相关问题 更多 >
编程相关推荐