Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在列表中嵌入键时从列表创建字典_Python_Pandas - Fatal编程技术网

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'])