python - 如何将Python数据框中的对象转换为仅int数字?

标签 python pandas dataframe

这是我的 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/

相关文章:

python - Pandas 系列的小时值到系列的日期

Pandas 根据日期范围爆炸列

python - 想要比较两列中的字符串并在 python pandas 中的同一行中引入相等的值

python - 有条件地在多个索引上加入 pandas DF

python - SQLAlchemy 编解码器无法使用 Oracle WE8ISO8859P1 编码解码字节 0x81

python - 如何避免在处理 KeyboardInterrupt 后打印 ^C

python - 类型错误 PYOMO : Defining constraints based on pandas dataframe

R:绘制data.frame中所有列的直方图

python - 计算 Pandas 中的重复 block

python - 在分布式集群上运行Python代码