如何在熊猫中创建数据框?

时间:2019-06-25 10:52:29

标签: python pandas

我有两个列表。一个叫做“区域”,另一个叫做“产品”。区域具有111个不同的值,产品具有1181个不同的值。我想从这两个列表中为产品和地区的每种组合创建一个数据框。

例如,我希望这种类型的数据框由两个列表组成。在这里,产品有2个值,区域有3个值。

 Pdts Region

0    A      X

1    B      X

2    A      Y

3    B      Y

4    A      Z

5    B      Z

我想要这种类型的数据框,但是我的“区域”列表具有111个不同的值,“产品”列表具有1181个不同的值。我该如何实现?

3 个答案:

答案 0 :(得分:1)

那是笛卡尔积

    import pandas as pd

    df1 = pd.DataFrame({'dataframe1': ['A', 'B']})
    df2 = pd.DataFrame({'dataframe2': ['X', 'Y', 'Z']})

    # Assign new columns to a DataFrame
    # Merge with a database-style join
    # Drop specified labels from rows or columns
    product_df = df1.assign(key=1)\
        .merge(df2.assign(key=1), on='key')\
        .drop('key', 1)

    print(product_df)

输出

    dataframe1 dataframe2
    0          A          X
    1          A          Y
    2          A          Z
    3          B          X
    4          B          Y
    5          B          Z

答案 1 :(得分:0)

您可以执行以下操作:

import pandas as pd

d = {'Region': first_list, 'Products': second_list}
df = pd.DataFrame(data=d)

答案 2 :(得分:0)

是的意思:

>>> df['Region'] = ['X', 'Y', 'Z'] * (len(df) // 3)
>>> df
  Pdts Region
0    A      X
1    B      Y
2    A      Z
3    B      X
4    A      Y
5    B      Z
>>>