Python 在列表中嵌入键时从列表创建字典
我有一个美国相应州的大学城列表。我想创建一个数据框架,其中有两列,一列是“州”,另一列是“地区名称”。数据帧应如下所示:Python 在列表中嵌入键时从列表创建字典,python,pandas,Python,Pandas,我有一个美国相应州的大学城列表。我想创建一个数据框架,其中有两列,一列是“州”,另一列是“地区名称”。数据帧应如下所示: DataFrame( [ ["Alabama", "Auburn"], ["Alabama", "Troy"], ["Alabama", "Tuscaloosa"], ["Alabama", "Tuskegee"], ["Alaska", "Fairbanks"], ["Arizona", "Flagstaff"], ["Arizona", "Te
DataFrame( [ ["Alabama", "Auburn"], ["Alabama", "Troy"],
["Alabama", "Tuscaloosa"], ["Alabama", "Tuskegee"], ["Alaska",
"Fairbanks"], ["Arizona", "Flagstaff"], ["Arizona", "Tempe"], ["Arizona",
"Tucson"] ],
columns=["State", "RegionName"] )
['Alabama',
'Auburn','Troy','Tuscaloosa','Tuskegee',
'Alaska','Fairbanks',
'Arizona','Flagstaff','Tempe','Tucson']
问题是我有一个包含州和地区名称的列表,在列表中州名称之后有相应的地区名称,如下所示:
DataFrame( [ ["Alabama", "Auburn"], ["Alabama", "Troy"],
["Alabama", "Tuscaloosa"], ["Alabama", "Tuskegee"], ["Alaska",
"Fairbanks"], ["Arizona", "Flagstaff"], ["Arizona", "Tempe"], ["Arizona",
"Tucson"] ],
columns=["State", "RegionName"] )
['Alabama',
'Auburn','Troy','Tuscaloosa','Tuskegee',
'Alaska','Fairbanks',
'Arizona','Flagstaff','Tempe','Tucson']
我一直在看一些例子,我现在被困在这个问题上。任何帮助都将不胜感激 您可能需要在此处创建状态列表,然后使用
ffill
和mask
拆分原始单列数据帧
df['RegionName']=df.State
df.State=df.State.where(df.State.isin(States)).ffill()
df=df.loc[df.State!=df.RegionName]
df
Out[80]:
State RegionName
1 Alabama Auburn
2 Alabama Troy
3 Alabama Tuscaloosa
4 Alabama Tuskegee
6 Alaska Fairbanks
8 Arizona Flagstaff
9 Arizona Tempe
10 Arizona Tucson
数据输入
States=['Alabama','Alaska','Arizona']
l=['Alabama',
'Auburn','Troy','Tuscaloosa','Tuskegee',
'Alaska','Fairbanks',
'Arizona','Flagstaff','Tempe','Tucson']
df=pd.DataFrame(l,columns=['State'])