Вот пример столбца моего набора данных, над которым я сейчас работаю:
print (data)
Credit Days
0 30
1 Cash & Carry
2 Cash & Carry
3 20
4 20
5 30
6 15
7 10
8 15
9 Cash & Carry
10 10
11 10
12 21
13 Cash & Carry
14 20
15 20
Таким образом, этот столбец содержит как строковые, так и целочисленные значения.Я должен преобразовать эти значения в целочисленные рейтинги и сохранить их во вновь созданном столбце, скажем, credit_days_rating.Для этого я написал код:
data = pd.read_csv('test.csv', engine='python')
data['Credit Days'].astype(str)
if data['Credit Days']=='Cash & Carry':
data['credit_days_rating'] = 4
else :
data['Credit Days'].astype(int)
if (data['Credit Days']>= 10) & (data['Credit Days']< 19):
data['credit_days_rating'] = 3
elif (data['Credit Days']>= 20) & (data['Credit Days']< 29):
data['credit_days_rating'] = 2
else :
data['credit_days_rating'] = 1
Для этого я получаю следующий журнал ошибок:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-65-f6ecf070a2d4> in <module>()
2
3 data['Credit Days'].astype(str)
----> 4 if (data['Credit Days']=='Cash & Carry'):
5 data['credit_days_rating'] = 5
6 else :
~/anaconda3/envs/tensorflow/lib/python3.5/site-packages/pandas/core/generic.py in __nonzero__(self)
1119 raise ValueError("The truth value of a {0} is ambiguous. "
1120 "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
-> 1121 .format(self.__class__.__name__))
1122
1123 __bool__ = __nonzero__
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
новый столбец должен выглядеть следующим образом: