我在excel中有6列,我想加入其中的5列;但是,在所有列的单元格中,我没有任何字符串,其中一些字符串为“0”。我需要的是:加入5列并在单元格不为“0”时使用“>”分隔符,当它为零时,只需将其保留为空白。能否帮助我在python或excel中如何做到这一点?以下示例:
The original file is:(C1:C6 are columns' name)
C1 C2 C3 C4 C5 C6
H1 C0 0 L L 0
H2 R0LL AB 0 0 0
I need the results like:(C1 and RESULTS are columns'name)
C1 RESULTS
H1 C0>L>L
H2 R0LL>AB
由于
答案 0 :(得分:0)
mask
将'0'
个零字符串转换为np.nan
np.nan
或空值进行堆叠时,它们将被删除groupby
pd.MultiIndex
我使用stack
apply
的第一级
'>'.join
rename
函数join
系列和df
到df = df.astype(str)
s = df.mask(df == '0').loc[:, 'C2':'C6'].stack()
s = s.groupby(level=0).apply('>'.join).rename('RESULTS')
c = df[['C1']]
df[['C1']].join(s)
C1 RESULTS
0 H1 C0>L>L
1 H2 R0LL>AB
的第一列Get-Service -Name '*<search string>*'
答案 1 :(得分:-1)
#use apply to join the non 0 columns by '>'
df['RESULTS'] = df.apply(lambda x: '>'.join([e for e in x[1:].astype(str) if e!='0']),axis=1)
df
Out[90]:
C1 C2 C3 C4 C5 C6 RESULTS
0 H1 C0 0 L L 0 C0>L>L
1 H2 R0LL AB 0 0 0 R0LL>AB