gpt4 book ai didi

python - 带有元组的字典放入数据框

转载 作者:太空宇宙 更新时间:2023-11-03 10:55:17 24 4
gpt4 key购买 nike

我有一个 python 字典,键作为日期,值作为元组,如下所示。

dct = {'01/24/2017 01:10:23.1230':('a',12),
'12/25/2016 10:12:45.128':('b',23),
'11/16/2016 09:39:55.459':('c',45),
'01/12/2017 15:55:20.783':('d',34)}

想要将其写入具有常量(用户标识)的 Dataframe,如下所示。

   userid   Date                            value1                value2
0 123 '01/24/2017 01:10:23.1230' a 12
1 123 '12/25/2016 10:12:45.128' b 23
2 123 '11/16/2016 09:39:55.459' c 45
3 123 '01/12/2017 15:55:20.783' d 34

尝试将字典转换为列表或 numpy 数组以写入 Dataframe 但字典中的元组,我无法将它们分开。有什么想法吗?

最佳答案

您可以使用 DataFrame.from_dictDataFrame.insert如果需要选择新列的位置:

d = {'01/24/2017 01:10:23.1230':('a',12),'12/25/2016 10:12:45.128':('b',23),'11/16/2016 09:39:55.459':('c',45),'01/12/2017 15:55:20.783':('d',34)}
df = pd.DataFrame.from_dict(d, orient='index').reset_index()
df.columns = ['Date','value1','value2']
df.insert(0, 'userid', 123)
print (df)
userid Date value1 value2
0 123 01/24/2017 01:10:23.1230 a 12
1 123 12/25/2016 10:12:45.128 b 23
2 123 01/12/2017 15:55:20.783 d 34
3 123 11/16/2016 09:39:55.459 c 45

如果需要在 DataFrame 末尾添加新列:

df['userid'] = 123
print (df)
Date value1 value2 userid
0 01/24/2017 01:10:23.1230 a 12 123
1 12/25/2016 10:12:45.128 b 23 123
2 01/12/2017 15:55:20.783 d 34 123
3 11/16/2016 09:39:55.459 c 45 123

或使用 assign 的解决方案:

df = df.assign(userid=123)
print (df)
Date value1 value2 userid
0 01/24/2017 01:10:23.1230 a 12 123
1 12/25/2016 10:12:45.128 b 23 123
2 01/12/2017 15:55:20.783 d 34 123
3 11/16/2016 09:39:55.459 c 45 123

通过评论编辑:

使用 dict comprehension 添加新值 123:

d1 = {k:(123, v[0], v[1]) for k,v in d.items()}
print (d1)
{'01/24/2017 01:10:23.1230': (123, 'a', 12),
'11/16/2016 09:39:55.459': (123, 'c', 45),
'01/12/2017 15:55:20.783': (123, 'd', 34),
'12/25/2016 10:12:45.128': (123, 'b', 23)}

df = pd.DataFrame.from_dict(d1, orient='index').reset_index()
df.columns = ['Date','userid','value1','value2']
print (df)
Date userid value1 value2
0 01/24/2017 01:10:23.1230 123 a 12
1 11/16/2016 09:39:55.459 123 c 45
2 01/12/2017 15:55:20.783 123 d 34
3 12/25/2016 10:12:45.128 123 b 23

关于python - 带有元组的字典放入数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41944404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com