我可以从两个列表中创建一个熊猫数据框,但是对于第一个列表的每个元素,我都会在第二个列表中追加n行作为元素?

时间:2020-05-23 02:06:50

标签: pandas dataframe

我正在看熊猫文件,但没有找到答案。可以说我有以下列表:

Dates = ['01-01-2020','02-01-2020','03-01-2020']
Names = ['John','Anthony','Martha']

我想要做的是列表的合并或联接,所以我得到以下数据框:

Date            Names
'01-01-2020'    'John'
'01-01-2020'    'Anthony'
'01-01-2020'    'Martha'
'02-01-2020'    'John'
'02-01-2020'    'Anthony'
'02-01-2020'    'Martha'
'03-01-2020'    'John'
'03-01-2020'    'Anthony'
'03-01-2020'    'Martha'

这将对第二个列表中的每个元素乘以第一个列表中的元素。 我查看了join和merge方法,但没有找到答案。 有没有简单的方法

谢谢。

2 个答案:

答案 0 :(得分:1)

让我们尝试pd.MultiIndex.from_product

df=pd.MultiIndex.from_product([Dates,Names],names=['Date','Name']).to_frame().reset_index(drop=True)
         Date     Name
0  01-01-2020     John
1  01-01-2020  Anthony
2  01-01-2020   Martha
3  02-01-2020     John
4  02-01-2020  Anthony
5  02-01-2020   Martha
6  03-01-2020     John
7  03-01-2020  Anthony
8  03-01-2020   Martha

答案 1 :(得分:1)

如何使用itertools.product

这是示例代码。

import pandas as pd
import itertools

Dates = ['01-01-2020','02-01-2020','03-01-2020']
Names = ['John','Anthony','Martha']

df = pd.DataFrame(itertools.product(Dates, Names))