如何将DataFrame中单元素元组的userId列转换为整数列?
解决方法
你之前尝试的df['userId'] = df['userId'][0]无法生效,是因为这会把整个userId列替换成第一个元组的值,而非对每个元组提取首元素。以下几种方法可以正确完成转换:
方法1:使用
apply提取元组首个元素
利用apply对列中每个元组取索引0的元素:df['userId'] = df['userId'].apply(lambda x: x[0])方法2:使用
str[0]直接提取
Pandas对元组列支持类似字符串的索引操作,直接用str[0]即可提取首元素:df['userId'] = df['userId'].str[0]方法3:使用
map函数遍历处理
用map函数遍历列中每个元组,提取其首元素:df['userId'] = df['userId'].map(lambda x: x[0])
转换完成后,可以用以下代码验证列类型:
print(df['userId'].dtype) # 输出:int64
此时userId列已转为整数类型,可正常与其他DataFrame的整数ID列执行合并操作。
内容的提问来源于stack exchange,提问作者mmyoung77
相关产品推荐
相关产品推荐

