这是我的 pandas 数据
2020-02-05
2020-03-02
我想转换为 int 以绘制条形直方图。所以我使用正则表达式来仅获取数字。之后我会尝试转换 int。但我的正则表达式函数出现错误。
下面的函数是获取字符串中的数字
import re
def split_it(data):
return re.findall('(\d+)',data)[0]
这是我的错误
expected string or bytes-like object
所以我用另一个源代码重试。
import re
def split_it(data):
return re.findall('(\d+)',str(data))
结果如下。
[2020, 02, 05]
[2020, 03, 02]
[2020, 02, 19]
你能告诉我如何获得 int 类型的 20200205 吗?
为什么第二个函数是返回列表类型?
最佳答案
这看起来不像一个数据框,你没有告诉我们你如何调用它,但这是我会如何做的
series = pandas.to_datetime(['2020-02-05','2020-03-02'])
#this is actually a datetimeindex, that does not use .dt accessor
new_series = series.strftime("%Y%m%d").astype(int)
如果它是一个数据框,你的做法会略有不同
#assumes a column named datetime exists, use its .dt accessor
int_series = df['datetime'].dt.strftime("%Y%m%d").astype(int)
关于python - 如何将Python数据框中的对象转换为仅int数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64236330/