Объединить столбцы разных типов в панде Dataframe - PullRequest
0 голосов
/ 25 апреля 2018

Допустим, у меня есть DataFrame, подобный этому:

df = pd.DataFrame({'col1':[0.2, 0.3, .5], 'col2':['a', 'b', 'c']})

И я хочу получить третий столбец col3, который будет выглядеть примерно так:

{'col1':['20% a', '30% b, '50% c']}

Есть ли в любом случае решениеэто без итерации каждой строки DataFrame?

1 Ответ

0 голосов
/ 25 апреля 2018

Это один из способов.

df = pd.DataFrame({'col1':[0.2, 0.3, .5], 'col2':['a', 'b', 'c']})

df['col3'] = (df['col1']*100).astype(int).apply(str) + '% ' + df['col2']

print(df)

   col1 col2   col3
0   0.2    a  20% a
1   0.3    b  30% b
2   0.5    c  50% c

Как указывает @JonClements, вы можете использовать lambda с форматированием строк, но у меня есть аллергия на них ... только хорошо в небольших дозах :

df['cole'] = df.apply(lambda r: f'{r.col1 * 100}% {r.col2}', 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...