【发布时间】:2015-03-30 09:59:48
【问题描述】:
我对 Python 很陌生,这是我的第一个问题,所以请对我温柔一点!
我已经尝试过其他类似问题的答案,但仍然很困难。
我正在使用 Pandas,我有一个数据框,它是多个不同 SQL 表的合并,看起来像这样:
Col_1 Col_2 Col_3 Col_4
1 NaN NaN NaN
2 Y NaN NaN
3 Z C S
4 NaN B W
我不关心 Col_2 Col_3 和 Col_4 中的值(请注意,这些值可以是字符串、整数或对象,具体取决于列)
我只关心这些列中至少有一个已填充,因此理想情况下希望第五列如下:
Col_1 Col_2 Col_3 Col_4 Col_5
1 NaN NaN NaN 0
2 Y NaN NaN 1
3 Z C S 1
4 NaN B W 1
然后我想删除列 Col_2 到 Col_4。
我最初的想法是类似于下面的函数,但这会将我的数据框从 50000 行减少到 50 行。我不想删除任何行。
def function(row):
if (isnull.row['col_2'] and isnull.row['col_3'] and isnull.row['col_3'] is None):
return '0'
else:
return '1'
df['col_5'] = df.apply(lambda row: function (row),axis=1)
任何帮助将不胜感激。
【问题讨论】:
-
我猜你正在使用 pandas DataFrame。我已在您的问题中添加了
pandas标签。一般来说,如果您使用的第三方库(如 pandas)不属于 Python 标准库,则需要说明。 -
谢谢,我也会更新问题
标签: python pandas boolean nan nonetype