组合列表列的python数据框架



基本上我想把数据框列和列表结合起来,并保持它作为一个列表。

df
a                      b
['2%', '70%']    ['2% W/V', '70% V/V']
['100%']         []
['5%', '60%']    ['5% W/V', '60% V/V']

我想有:

df
c 
['2% W/V', '70% V/V']
['100%']         
['5% W/V', '60% V/V']

我可以通过将df['b']列设置为str并使用combine_first来做到这一点:

df = df.astype({"b": str}).copy()
df['b'] = df['b'].replace('[]', np.nan)
df['c'] = df['b'].combine_first(df['a']).copy()

但是我想把它作为一个列表,这样我就可以把它和列表的其他列结合起来。我试着使用:

df['c'] = df['b'].combine_first(df['a']).copy()

不设置df['b']str,但不工作

combine_first函数不适用于空列表类型

df['b'] = df['b'].apply(lambda x: x if x else np.nan)
df['c'] = df['b'].combine_first(df['a'])

不需要设置为str类型。

相关内容

  • 没有找到相关文章