str.replace函数报错,提示需要一个整数。

4

我想问一下我遇到的问题。首先,让我展示一下我的整个代码。

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:需要整数”的错误提示。

2个回答

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

1
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

此时,df2 是一个由 Timestamps 组成的 pd.Series。格式 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

谢谢~~ 你是个很棒的人~ 祝你有美好的一天~~ - victory

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接