我有以下数据框:
R_fighter B_fighter win_by last_round Referee date Winner
0 Adrian Yanez Gustavo Lopez KO/TKO 3 Chris Tognoni March 20, 2021 Adrian Yanez
1 Trevin Giles Roman Dolidze Decision - Unanimous 3 Herb Dean March 20, 2021 Trevin Giles
2 Tai Tuivasa Harry Hunsucker KO/TKO 1 Herb Dean March 20, 2021 Tai Tuivasa
3 Cheyanne Buys Montserrat Conejo Decision - Unanimous 3 Mark Smith March 20, 2021 Montserrat Conejo
4 Marion Reneau Macy Chiasson Decision - Unanimous 3 Mark Smith March 20, 2021 Macy Chiasson
我想将列win_by的类型从object
转换为str
。 我使用这里建议的.astype()
函数:
UFC_db['win_by'] = UFC_db['win_by'].astype('|S')
但是什么也没有改变:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6012 entries, 0 to 6011
Data columns (total 7 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 R_fighter 6012 non-null object
1 B_fighter 6012 non-null object
2 win_by 6012 non-null object
3 last_round 6012 non-null object
4 Referee 6012 non-null object
5 date 6012 non-null object
6 Winner 6012 non-null object
dtypes: object(7)
memory usage: 328.9+ KB
我也尝试过
UFC_db['win_by'] = UFC_db['win_by'].astype('str')
UFC_db['win_by'] = UFC_db['win_by'].astype(str)
和
UFC_db['win_by'] = UFC_db['win_by'].astype('str',errors ="ignore")
如提议所示Python - 通过 "astype" 进行的 pandas 列类型转换未生效
但仍然没有改变