Something like this might work:

def non_zero(row, columns):
    return list(columns[~(row == 0)])

df.apply(lambda x: non_zero(x, df.columns), axis=1)

Cheers,
Samo

On Wed, Oct 5, 2016 at 11:58 AM, Startup Hire <[email protected]>
wrote:

> Hi Pypers,
>
> Hope you are doing well.
>
> I am working on a project to find out the column names of non-zero values
> at a row level.
>
> How can this effectively done in python pandas/dataframe?
>
>
> For example,
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *Column1* *Column *2 *Column *3 Column 4 Column 5 Column 6 *Column 7* New
> column to be created
> 1 1 1 0 0 0 1 Column1,Column 2,Column 3,Column7
>
>
>
>
>
>
>
>
>
>
> I might have to do it on approximately million rows
>
> Regards,
> Sanant
>
> _______________________________________________
> scikit-learn mailing list
> [email protected]
> https://mail.python.org/mailman/listinfo/scikit-learn
>
>
_______________________________________________
scikit-learn mailing list
[email protected]
https://mail.python.org/mailman/listinfo/scikit-learn

Reply via email to