来自Dict键的Pandas Dataframe和具有多行相同键的值列表

时间:2015-02-20 19:43:25

标签: python dictionary pandas

我创建了一个字典:

test_df = {}
for row in df.iterrows():
    y = []
    for x in row[1]:
        y.append(x)
    test_df[y[0]] = y[1:]

所以我的dict看起来像这样:

{'City': ['Item1',
  'Item2',
  'Item3',
  'Item4',
  'Item5']}

我似乎无法获得如下所示的数据框:

A       B
'City'  'Item1'
'City'  'Item2'
'City'  'Item3'
'City'  'Item4'
'City'  'Item5'

我希望将字典键放在与其关联的列表中的每个项目的每一行中。我已经尝试制作两个系列并连接它们但它没有用。我一定是在想这个。提前感谢任何见解。

所以BrenBarn让我走上了正确的道路,所以我做了以下事情:

x = [item[0] for item in test_df.items()]
df1 = pd.DataFrame({'A': x[0], 'B': test_df[x[0]]})
for row in x[1:]:
    df2 = pd.DataFrame({'A': row, 'B': test_df[row]})
    df1 = pd.concat([df1, df2])

它工作得很漂亮。谢谢你们。

1 个答案:

答案 0 :(得分:2)

这是一个简单的方法:

>>> pandas.DataFrame({"A": 'City', "B": d['City']})
      A      B
0  City  Item1
1  City  Item2
2  City  Item3
3  City  Item4
4  City  Item5