Pandas 我可以从两个列表中创建一个数据帧,但是对于第一个列表的每个元素,我会附加n行作为第二个列表的元素吗?
我在看熊猫的文档,但没有找到答案。假设我有以下列表:Pandas 我可以从两个列表中创建一个数据帧,但是对于第一个列表的每个元素,我会附加n行作为第二个列表的元素吗?,pandas,dataframe,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' '
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方法,但没有找到答案。
有没有一个简单的方法
Tks寻求帮助。让我们试试产品的pd.MultiIndex.from
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
使用
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))