Я не понимаю следующее странное поведение преобразования в пандах:
d = pd.DataFrame({'a':['x', 'y'], 'b': ['s', 't']})
s = d['a'].astype('|S1')
print(s.dtypes)
d['a'] = s
print(d.dtypes)
print(s.dtypes)
print(d.astype('|S1').dtypes)
произвело вывод:
|S1
a object
b object
dtype: object
|S1
a |S1
b |S1
dtype: object
Когда я преобразовываю столбец как pd.Series
, он получаетконвертируется, но при возврате в DataFrame
возвращается обратно к Object
. Но весь DataFrame может быть преобразован. Что дает?
Я искал документацию, чтобы найти ссылку на это поведение, но не нашел никакой подсказки.
Просто для полноты, вот сокращенная версия:
python : 3.7.3.final.0
python-bits : 64
OS : Windows
OS-release : 10
machine : AMD64
processor : Intel64 Family 6 Model 158 Stepping 9, GenuineIntel
pandas : 0.25.1
numpy : 1.17.1