gpt4 book ai didi

python - 将两列中的数据合并为一列,除非第二列已被 pandas 占用

转载 作者:太空宇宙 更新时间:2023-11-04 09:58:42 36 4
gpt4 key购买 nike

假设我在数据框中有两列,其中一列不完整。

df = pd.DataFrame({'a': [1, 2, 3, 4], 'b':[5, '', 6, '']})

df
Out:
a b
0 1 5
1 2
2 3 6
3 4

有没有办法用 a 列中的相应值填充 b 列中的空值,同时保留 b 列的其余部分完好无损的?这样您就可以在不遍历该列的情况下获得?

df
Out:
a b
0 1 5
1 2 2
2 3 6
3 4 4

我认为您可以使用 apply 方法 - 但我不确定。作为引用,我正在处理的数据集非常大(大约 1GB),这就是迭代的原因 - 我的第一次尝试不是一个好主意。

最佳答案

如果空白是空字符串,你可以

In [165]: df.loc[df['b'] == '', 'b'] = df['a']

In [166]: df
Out[166]:
a b
0 1 5
1 2 2
2 3 6
3 4 4

但是,如果您的空格是NaN,您可以使用fillna

In [176]: df
Out[176]:
a b
0 1 5.0
1 2 NaN
2 3 6.0
3 4 NaN

In [177]: df['b'] = df['b'].fillna(df['a'])

In [178]: df
Out[178]:
a b
0 1 5.0
1 2 2.0
2 3 6.0
3 4 4.0

关于python - 将两列中的数据合并为一列,除非第二列已被 pandas 占用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44767673/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com