微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 循环遍历列中的多个值

有人可以告诉我如何循环数据框列中的多个值.

例:

col1    col2
High street qwe.723,qwe.2,qwe.17,qwe.1000,qwe.23
Must street qwe.34,qwe.17,qwe.1000,qwe.23

我想要以下输出

High street
qwe.723
High street
qwe.2
High street
qwe.17
High street
qwe.1000
High street
qwe.23

Must street
qwe.34
Must street
qwe.17
Must street
qwe.1000
Must street
qwe.23

我的尝试:

lines = open('file.txt','r')
for line in lines:
    line=line.strip().split('\t')
    vals=line[1].split(',')
    for val in vals:
        print(line[0],'\n',val)

解决方法:

试试这个:

In [136]: df
Out[136]:
          col1                                  col2
0  High street  qwe.723,qwe.2,qwe.17,qwe.1000,qwe.23
1  Must street         qwe.34,qwe.17,qwe.1000,qwe.23

In [137]: df.set_index('col1').col2.str.split(',', expand=True).stack().reset_index(level=1, drop=1).to_frame('col2').reset_index().stack()
     ...:
Out[137]:
0  col1    High street
   col2        qwe.723
1  col1    High street
   col2          qwe.2
2  col1    High street
   col2         qwe.17
3  col1    High street
   col2       qwe.1000
4  col1    High street
   col2         qwe.23
5  col1    Must street
   col2         qwe.34
6  col1    Must street
   col2         qwe.17
7  col1    Must street
   col2       qwe.1000
8  col1    Must street
   col2         qwe.23
dtype: object

我敢肯定必须有更好的方法来做到这一点……

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐