如何在pandas DataFrame中只从列表中随机选择一部分数据填充行?
时间: 2024-11-12 22:45:41 浏览: 5
在pandas DataFrame中,如果你想从列表中随机选择一部分数据填充行,你可以先从列表中随机选择指定数量的元素,然后再将它们放到DataFrame对应的位置上。这里是一个简单的例子:
假设我们有一个列表 `row_data` 和一个整数 `n` 表示要抽取的行数,我们可以这样做:
```python
import pandas as pd
import numpy as np
# 假设这是你的列表
row_data = [list(range(10)), list(range(10, 20)), ...] # 包含多个行数据的列表
# 设定随机抽取的行数
n_rows_to_draw = 2 # 这里是随机抽取2行
# 首先确定哪些行会被抽中,可以用 random.choice 函数
selected_rows_indices = np.random.choice(len(row_data), n_rows_to_draw, replace=False)
# 然后选取这些行数据填充到 DataFrame
data_to_add = [row_data[i] for i in selected_rows_indices]
df_temp = pd.DataFrame(data_to_add)
# 将新数据追加到原始 DataFrame 的最后几行
df = pd.concat([df, df_temp], ignore_index=True)
print(df)
```
这会随机从 `row_data` 中选择 `n_rows_to_draw` 行,并将其添加到DataFrame的末尾。
阅读全文