【发布时间】:2017-09-03 22:16:58
【问题描述】:
我有文件(A、B、C 等),每个文件都有 12,000 个数据点。我已将文件分成 1000 个点的批次并计算每个批次的值。所以现在对于每个文件,我们有 12 个值,它们被加载到 pandas 数据框中(如下所示)。
file value_1 value_2
0 A 1 43
1 A 1 89
2 A 1 22
3 A 1 87
4 A 1 43
5 A 1 89
6 A 1 22
7 A 1 87
8 A 1 43
9 A 1 89
10 A 1 22
11 A 1 87
12 A 1 83
13 B 0 99
14 B 0 23
15 B 0 29
16 B 0 34
17 B 0 99
18 B 0 23
19 B 0 29
20 B 0 34
21 B 0 99
22 B 0 23
23 B 0 29
24 B 0 34
25 C 1 62
- - - -
- - - -
现在作为下一步,我需要随机选择一个文件,并为该文件随机选择 4 个批次作为 value_1 的序列。后者,我相信可以用 df.sample() 来完成,但我不确定如何随机选择文件。我试图让它与 np.random.choice(data['file'].unique()) 一起工作,但似乎不正确。
提前感谢您的帮助。总的来说,我对 pandas 和 python 还很陌生。
【问题讨论】:
-
您的文件是数据框列表?
-
我的原始文件是 ascii (.mat) 文件。我从批次中提取值并将其保存到与上述类似的 pandas 数据帧中。
-
试试
data[data.file == np.random.choice(data['file'].unique())].sample(n=4)。如果这不能为您提供所需的输出,请编辑问题以添加您的预期输出。 -
谢谢。但所需的输出应该是 4 个批次的随机序列。序列的起点将是随机的,但值将是 4 个连续批次。我会更新这个问题,谢谢你的建议。
-
把所有的df存入一个list,得到随机数,选择df。