ValueError:在Python中尝试将字符串转换为int时,显示基为10的int()的无效文本



我正在尝试为线性回归设置数据集。我不能简单地将日期放在LinReg模型中,因为它需要一个数值或int。所以我试图使用int()将字符串转换为int。但我得到了一个错误-ValueError:基数为10的的int((的无效文本

代码:

df = pd.read_csv('data/Customers.csv')
print(int(df.date[0]))

尝试将日期解析为时间戳,并在上面使用toordinal:

In [14]: import io, pandas as pd
...: 
...: text = "daten01/31/2021n"
...: buff = io.StringIO(text)
...: df = pd.read_csv(buff, converters={"date": pd.Timestamp})
...: ts = df.date[0]
In [15]: ts
Out[15]: Timestamp('2021-01-31 00:00:00')
In [16]: ts.toordinal()
Out[16]: 737821
In [17]: 

来源:

datetime.toordinal((是一个用于操作datetime类对象的简单方法。它返回日期的前格里高利序数,其中第1年的1月1日有序数1。函数返回给定DateTime对象的序号值。

如果第1年的1月1日有序号1,那么第1年1月2日将有序号2,依此类推

最新更新