为了账号安全,请及时绑定邮箱和手机立即绑定

将空格分隔的列表压缩成元组

将空格分隔的列表压缩成元组

繁星coding 2022-12-20 11:27:46
我有一个数据框df,其中有一列称为columnListstr。"1 2,7 8,10 7"然后我将它们转换为一个列表,如下所示:[1 2,7 8,10 7]我想将列表中的值转换为元组:[(1,2),(7,8),(10,7)]当前代码:temp = df['columnList'].str.split(',')result = list(zip(temp[::2], temp[1::2]))print(result)我得到空列表。df看起来像这样:column1    columnList  YY      1 2,7 8,10 7名称:df,数据类型:对象
查看完整描述

3 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

此处不需要使用zip,只需遍历列表,拆分每个元素并将其存储为元组即可。


l = [ '1 2', '7 8', '10 7']

[tuple(int(i) for i in numbers.split()) for numbers in l]


#[(1, 2), (7, 8), (10, 7)]


查看完整回答
反对 回复 2022-12-20
?
交互式爱情

TA贡献1712条经验 获得超3个赞

试试这个,

df.columnsList.apply(lambda x : 
        [tuple(map(int, x.split())) for x in "1 2, 7 8, 10 7".split(",")])

输出,

0    [(1, 2), (7, 8), (10, 7)]
Name: columnsList, dtype: object


查看完整回答
反对 回复 2022-12-20
?
慕斯709654

TA贡献1840条经验 获得超5个赞

您可以将字符拆分后映射到整数,然后将映射对象转换为元组:


temp = df['columnList'].str.split(',')

result = [tuple(map(int, num.split())) for num in temp]

print(result)

# [(1, 2), (7, 8), (10, 7)]


查看完整回答
反对 回复 2022-12-20
  • 3 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信