有人可以告诉我如何循环数据框列中的多个值.
例:
col1 col2 High street qwe.723,qwe.2,qwe.17,qwe.1000,qwe.23 Must street qwe.34,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.23 1 Must street qwe.34,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
我敢肯定必须有更好的方法来做到这一点……