我有一个文件夹,里面有几千万个记录制表符分隔文件。我想创建一个pandas数据框,我随机抽样从每个文件中说出2万条记录,然后将它们一起追加到数据框中。有谁知道怎么做?
答案 0 :(得分:0)
您可以读取特定文件夹中的所有文本文件。然后你可以使用pandas Dataframe.sample
(link to docs)。
我提供了一个完全可重现的示例,其中包含两个使用200行创建的示例.txt文件。然后,我随机抽取十行,并将样本附加到最终的数据帧。
import pandas as pd
import numpy as np
import glob
# Change the path for the directory
directory = r'C:\some\example\folder'
# I create two test .txt files for demonstration purposes with 200 rows each
df_test = pd.DataFrame(np.random.randn(200, 2), columns=list('AB'))
df_test.to_csv(directory + r'\test_1.txt', sep='\t', index=False)
df_test.to_csv(directory + r'\test_2.txt', sep='\t', index=False)
df = pd.DataFrame()
for filename in glob.glob(directory + r'\*.txt'):
df_full = pd.read_csv(filename, sep='\t')
df_sample = df_full.sample(n=10)
df = df.append(df_sample)