我有一个名为atp_main的网球数据框,有50列和大约160,000行。我有一个名为winner_age的列(以及相应的loser_age列)。起初,这些年龄显示为小数点,例如22.321234342 ...,25.23345565665 ...等。此列的dtypes是' object'。
我通过调整这些列来清理数据以打印类似于整数的年龄,即22,25,31等。我通过将列dtype转换为浮点数来实现这一点,因为转换为int似乎存在问题:
atp_data['winner_age'] = pd.to_numeric(atp_data['winner_age'], errors='coerce')
此列的dtype现在是一个浮点数。然后我将此列格式化为小数点后不显示任何内容,即23而不是23.123212432 ...... pd.options.display.float_format =' {:,。0f}' .format
当我调用此列并打印其值时:
atp_main['winner_age]
它打印一个年龄列表,如此
23
22
21
31
18
但是,当我应用像mean()这样的函数时,它返回一个带有大的长十进制的值:
atp_main['winner_age'].mean()
23.4353423354545
理想情况下,我希望winner_age列为int而不是float。我试着像这样转换: atp_main [' winner_age&#39]。astype(int)的 但得到了这个错误:
ValueError: Cannot convert non-finite values (NA or inf) to integer
数据集在数据集的第一部分中有很多NaN值,只是要注意。
非常感谢提前!