#python #pandas #numpy #alternate
Вопрос:
У меня есть фрейм данных следующим образом, но с большим количеством строк
import pandas as pd
import numpy as np
d = {'col1': ['data1', 'data2','data3','data4','data5'],
'col2': ['a', 'b','c','d','e']}
df = pd.DataFrame(data=d)
Я добавил пустой столбец в этот фрейм данных
df['type']= ' '
теперь я хотел бы заполнить пустую колонку альтернативными значениями. поэтому, если индекс четный, я хотел бы добавить «type_a», а если индекс нечетный, я хотел бы добавить «type_b».
Я сделал следующее
df['type'] = np.where(df.iloc[::2,::2], 'type_a', 'type_b')
однако индекс не совпадает, и я получаю следующую ошибку:
ValueError: Length of values does not match length of index
Ответ №1:
пробовать:
df['type']=np.where(df.index%2==0, 'type_a', 'type_b')
выход df:
col1 col2 type
0 data1 a type_a
1 data2 b type_b
2 data3 c type_a
3 data4 d type_b
4 data5 e type_a