-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathsimulate.py
More file actions
28 lines (22 loc) · 802 Bytes
/
Copy pathsimulate.py
File metadata and controls
28 lines (22 loc) · 802 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import pandas as pd
import numpy as np
n_feat = 100
n_samples = 100
mz = np.random.uniform(0, 100, size=n_feat)
rt = np.random.uniform(0, 200, size=n_feat)
X = np.random.exponential(10, size=(n_feat, n_samples))
x_df = pd.DataFrame(
np.concatenate([mz[:, None], rt[:, None], X], axis=1),
index=[f"feature{i}" for i in range(n_feat)],
columns=["mz", "rt"] + [f"sample{i}" for i in range(n_samples)],
)
group_df = pd.DataFrame(
{
"class": np.random.choice(["QC", "Subject"], size=n_samples),
"injection.order": np.random.choice(n_samples, n_samples, replace=False),
"batch": np.random.choice(4, n_samples, replace=True),
},
index=[f"sample{i}" for i in range(n_samples)],
)
x_df.to_csv("./example_x.csv")
group_df.to_csv("./example_sample_info.csv")