我有一个要放入Google大查询表中的数据框。
但是,当我尝试时,它只是出错(pyarrow cannot convert byte to integer on an object/string
)。
所以我想我会尝试在数据框的列上强制使用某种类型,以查看是否允许它向上移动。 甚至无法正常工作。
df.reset_index()
df.rename(mapper={
'year':'theyear', 'month':'themonth',
'excl':'totalexclbtw','incl':'totalinclbtw',
'autotrading':'automatedtrading'
}, axis='columns',inplace=True)
df[ 'dateofprocesing' ] = None
df[ 'publisherid' ] = 0
df[ 'siteid' ] = 0
df.astype([{'theyear':'int64'},{'themonth':'int64'}], copy=False, errors='raise')
df.dtypes
月份和年份都应为数字,但显然已为它们分配了一个对象(假设字符串)。
如何更改列的类型?
答案 0 :(得分:1)
如果您看过here,就会发现您需要提供字典而不是列名列表。
StartIndex
答案 1 :(得分:1)
您可以执行以下操作以更改列的类型:
df['theyear'] = df['theyear'].astype('int')
df['themonth'] = df['themonth'].astype('int')