@tea4panda

Как добавить правильно новый столбец pandas?

Я хочу добавить новый столбец
У меня есть данные формата:
17.21 ,
47.75.1,
68.20.2

Я хочу сделать новый столбец в pandas, чтобы если больше 4-х значений в числе, то оставлял только их. в остальных случаях исходное значение.
Как здесь применить такой формат:

len('17.21') > 4

data_new2['TYPE_NEW']= np.where(data_new2['TYPE']>

Спасибо большое!
  • Вопрос задан
  • 127 просмотров
Решения вопроса 2
@dmshar
Ну, наверное, не больше 4, а больше 5. Вы ведь символы считаете, а не цифры. А точка - это тоже символ. Если-же вы мели что-то другое, то подправить скрипт, думаю, сможете сами:
import pandas as pd
def f(row):
    if len(row['TYPE'])>4 :
        rt = row['TYPE'][0:5]   
    else:
        rt =  row['TYPE']
    return rt
df=pd.DataFrame({'TYPE':('17.21' ,'47.75.1','68.20.2')})
df['TYPE_NEW'] = df.apply(f, axis=1)


Результат:
TYPE TYPE_NEW
0    17.21    17.21
1  47.75.1    47.75
2  68.20.2    68.20
Ответ написан
@o5a
np.where(df['TYPE'].str.len()>4, df['TYPE'].str[4:], df['TYPE'])
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час