Ste*_*veS 5 dictionary dataframe python-3.x pandas
给定一个字典:
{1: [1,2,3,4,5], 2: [55,22,112]}
Run Code Online (Sandbox Code Playgroud)
我想构建一个数据框:
key_id ids
1 1
1 2
1 3
1 4
1 5
2 55
2 22
2 112
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?我正在尝试玩,pd.DataFrame.from_dict()但这似乎不是正确的方法。还尝试运行字典,并创建一个具有与值列表长度相同的键的列表。有什么有效的方法可以做到这一点吗?
PS 有时它会是一个数据帧作为值:
{0: pd.DataFrame({'id': {0: 3}})}
Run Code Online (Sandbox Code Playgroud)
我认为一个简单的列表理解就足够了:
pd.DataFrame(
[(k, i) for k, v in d.items() for i in v],
columns=['key_id', 'ids']
)
Run Code Online (Sandbox Code Playgroud)
key_id ids
0 1 1
1 1 2
2 1 3
3 1 4
4 1 5
5 2 55
6 2 22
7 2 112
Run Code Online (Sandbox Code Playgroud)