【发布时间】:2022-11-19 00:23:58
【问题描述】:
我有这种格式的数据框:
import pandas as pd
df = pd.DataFrame({
1: {'mean': 1.0, 'std': 0.8},
2: {'mean': 0.5, 'std': 0.2},
3: {'mean': 0.2, 'std': 0.1},
4: {'mean': 0.1, 'std': 0.1},
5: {'mean': 0.6, 'std': 0.2}
})
df
1 2 3 4 5
mean 1.0 0.5 0.2 0.1 0.6
std 0.8 0.2 0.1 0.1 0.2
基于 mean 和 std 的这些值,我试图生成一个随机生成的正态分布数字的大数据框,它具有相同的列数但更多的行:
full_noise = []
for mean, std in enumerate(df):
noise = np.random.normal(mean, std, [5, 1000])
full_noise.append(noise)
因此,这个新数据框的每一列都将在上面的数据框中列出的mean和std上生成值。不过,我肯定做错了什么。
抱歉,我是 Python 的新手!我希望你能帮忙:(
【问题讨论】:
-
你确定要这个
mean, std in enumerate(df):吗?它会将mean设置为range(len(df))中的数字。 -
不,我对这里的枚举完全不确定。只是不知道如何遍历 mean 和 std 的这些列,然后将值插入 np.random.normal 函数中。
标签: python pandas dataframe numpy