Mam dataframe jak poniżej, chciałbym stworzyć nową kolumnę "sześć", tak że wartość tej kolumny zależy od wartości "drugiej", "trzecie", "naprzód", i ...

1
sirimiri 15 marzec 2021, 05:27

2 odpowiedzi

Najlepsza odpowiedź

Spróbujmy tego:

df['Six'] = df.replace({1:'1', 0:''}).apply(''.join, axis=1)

Wynik:

    First   Second  Third   Forth   Fifth   Six
0   S1         1       0       0       0    S11
1   S2         1       1       0       0    S211
2   S3         1       1       0       0    S311
2
ashkangh 15 marzec 2021, 02:35

Można nawet spróbować metody pandy 'aggregate:

df['Sixth'] = df.replace({1: '1', 0:''}).agg(''.join, axis=1)
df
  First  Second  Third  Fourth  Fifth  Sixth
0    s1       1      1       0      0   s111
1    s2       1      1       0      1  s2111
2    s3       0      1       0      0    s31
-2
ThePyGuy 15 marzec 2021, 02:44