繁体   English   中英

如何在一个数据框中迭代多个标签?

[英]How to iterate multiple labels in a data frame?

我有一个文件列表为:

filelist = ['file1','file2',file3']

我正在尝试创建一个包含“ n”次迭代的文件列表的datframe。(n对于所有文件都是相同的)我正在寻找的如下:

"Labels"
file1
file1
file1
.
.
file2
file2
file2
.
.
file3
file3
file3
.
.

谁能建议如何建立此数据框?

使用熊猫的方法如下:

import pandas as pd
filelist = ['file1','file2','file3']
df = pd.DataFrame({"labels":filelist})
df

输出如下:

  labels
0  file1
1  file2
2  file3

假设n = 3并使用列表推导:

import pandas as pd

filelist = ['file1','file2','file3']
filelist1=[f for f in filelist for i in range(3)]
df1 = pd.DataFrame(filelist1, columns=['labels'])

print(df1)

输出:

labels
0  file1
1  file1
2  file1
3  file2
4  file2
5  file2
6  file3
7  file3
8  file3

您可以定义一个函数来做到这一点

def createDF(input_list, n_iteration):
    data = sorted(input_list * n_iteration)

    df = pd.DataFrame(data={'Labels': data})
    return df

createDF(filelist, 3)

产量

  Labels
0  file1
1  file1
2  file1
3  file2
4  file2
5  file2
6  file3
7  file3
8  file3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM