2024-10-06 11:19:34 发布
网友
我正在试着运行这个
pa['pattern'] = pa['AccessType'] + pa.groupby(['AccessedBy'])['AccessType'].shift(1)
但它正在投掷
但是
AccessedBy object AccessType object
几天前我最后一次运行的时候,它运行得很好。我错过了什么?在
我想你的数据可能已经改变了:
df = pd.DataFrame({'Group':['X']*4+['Z']*4, 'AccessType':[*'ABCDEFGH']}) df['AccessType'] + df.groupby('Group')['AccessType'].shift(1)
运行良好:
但是,你必须处理那些南。在
但是,如果我们把“A”改为数字1:
df = pd.DataFrame({'Group':['X']*4+['Z']*4, 'AccessType':[1]+[*'BCDEFGH']}) df['AccessType'] + df.groupby('Group')['AccessType'].shift(1)
你会得到:
TypeError: unsupported operand type(s) for +: 'int' and 'str'
在执行groupby()之前,通过对数据帧中用作参数的列之一进行类型转换,将其转换为str。在
groupby()
str
df['column name'] = df['column name'].astype(str)
我想你的数据可能已经改变了:
运行良好:
^{pr2}$但是,你必须处理那些南。在
但是,如果我们把“A”改为数字1:
你会得到:
在执行
groupby()
之前,通过对数据帧中用作参数的列之一进行类型转换,将其转换为str
。在相关问题 更多 >
编程相关推荐