繁体   English   中英

str.replace函数引发需要整数的错误

[英]str.replace function raise error that an integer is required

我想问我遇到的问题。 首先,让我告诉你我的整个代码

df1 = pd.read_excel(r'E:\내논문자료\골목상권 데이터\이태원로 54길 내용뺀거.xlsx' , sheetname='first_day_datas')
df1.registerdate= df1.registerdate.astype(str) # 칼럼 속성 바꾸기
df2 = pd.to_datetime(df1['registerdate'].str[0:10])
df3 = df2['registerdate'].str.replace('-', '').str.strip()

我只想更改registerdate列中的字符串。 当我把print(df2.head(3))。 它显示如下

0   2016-10-11
1   2016-10-15
2   2016-10-15

所以我想用''代替' - '。 我输入代码并弹出'TypeError:需要一个整数'。

df2 = pd.to_datetime(df1['registerdate'].str[0:10])
#     \____________/
#    returns a series

df2['registerdate'].str.replace('-', '').str.strip()
#\_______________/
# is only something
# if 'registration
# is in the index
# this is probably the source of your error

此时df2pd.Series of Timestamps 格式yyyy-mm-dd就是Timestamp的显示方式。 要将其显示为yyyymmdd ,请执行此操作

df2.dt.strftime('%Y%m%d')

0    20160331
1    20160401
2    20160402
3    20160403
4    20160404
Name: registerdate, dtype: object

似乎df2没有列'registerdate',它是一个时间戳列表。 我认为df2.map(lambda x: x.strftime('%Y%m%d')可以将时间戳转换为您需要的格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM