python - 遍历列中的多个值

标签 python pandas numpy

谁能告诉我如何循环访问数据框列中的多个值。

例子:

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

我相信一定有更好的方法来做到这一点......

关于python - 遍历列中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41731306/

相关文章:

python - 在 pandas 数据框上使用 apply 时传递值的形状错误

python - 日期库,能够计算诸如 "every third tuesday"之类的东西?

python - 在 Python 中从导入的文件运行代码

python - 在 Pandas 中有条件地将整行设置为 NaN/None

python - Numpy.copy 无法按预期进行随机采样

python - 用 mode() 填充 NAN 数据不起作用-Pandas

python - `[row_index, [elements]]` 的嵌套列表到 Pandas 数据框?

python - Pandas 对现有索引进行重采样

python - 比较不同大小的二维数组

python - 值错误: array is not broadcastable to correct shape - Python