有人可以告诉我如何循环数据框列中的多个值.
例:
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
我敢肯定必须有更好的方法来做到这一点……
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。