首页 > 解决方案 > 如何使用一个数据集来模拟另一个使用 Python 的数据集?

问题描述

我有以下示例df:

import pandas as pd

cars = {'Brand': ['Honda Civic','Toyota Corolla','Ford Focus','Audi A4'],
        'Price': [22000,25000,27000,35000]
        }

df = pd.DataFrame(cars, columns = ['Brand','Price'], index=['Car_1','Car_2','Car_3','Car_4'])

有没有办法用第一个参数生成一个新的数据集?我希望“品牌”值相同,但“价格”值是通过使用“价格”中原始值的最小值、最大值和平均值随机生成的。

我可以手动编写代码,但想知道是否有办法让 python 检测数据框的参数并使用这些参数创建一个新的。

注意:我提供的示例数据框很小,但这些概念适用于更大的数据。

标签: pythonpython-3.xpandasdataframe

解决方案


您可以使用 np.random.randint。前两个参数设置界限,第三个参数给出值的数量。

import pandas as pd
import numpy as np

df2 = pd.DataFrame({'Brand': df['Brand'],
                    'Price': np.random.randint(df['Price'].min(),
                                               df['Price'].max(), df.shape[0])})

print(df2)

       Brand            Price
Car_1  Honda Civic      29797
Car_2  Toyota Corolla   33306
Car_3  Ford Focus       26237
Car_4  Audi A4          23580

推荐阅读