Stack Overflow на русском Asked on December 20, 2020
Есть DataFrame вида:
c1 c2 c3 ... cN
0 1 1 0 ... 0
1 0 1 1 ... 0
2 0 0 1 ... 0
3 1 1 0 ... 1
Необходимо получить новый столбец, который являлся бы строкой вида c1+c2+c3...+cN
.
Я делаю
df.loc[:, 'c1':'cN'].apply(lambda x: ???, axis=1)
Но не понимаю, как написать лямбду в этом случае.
попробуйте так:
In [102]: df
Out[102]:
c1 c2 c3 c4
0 1 1 0 0
1 0 1 1 0
2 0 0 1 0
3 1 1 0 1
In [103]: res = df.loc[:, "c1":"c4"].astype(str).T.apply(lambda x: x.str.cat())
In [104]: res
Out[104]:
0 1100
1 0110
2 0010
3 1101
dtype: object
или так (по совету @strawdog):
res = df.loc[:, "c1":"c4"].astype("str").apply(lambda x: x.str.cat(), axis=1)
Correct answer by MaxU on December 20, 2020
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP