【发布时间】:2019-11-06 12:46:56
【问题描述】:
我有一个字典,其中包含包含数据帧的字典
dict
key value
s0 sub_dict1
s1 sub_dict2
sub_dict1
key value
x1 df1
x2 df2
df1
time val other_data_i_don't_want
0:01 1 999
0:34 2 999
我最终想要的是一个包含数据框作为值的字典
dict_new
key value
s0 df
在哪里 df
time val_x1 val_x2 val_x3
0:01 1 1 1
我想在 for 循环中自动化这个过程
到目前为止我已经完成了:
for key1 in dict.keys():
for key2 in dict[key1].keys():
global key1_key2
sensor = str(key2)
key1_key2 = dict[key1][key2][['time','val']]
key1_key2.rename(columns = {"val":'val_'+key2})
但是 key1_key2 被定义为名称为“key1_key2”,但我实际上想创建多个名为“s0_x1”“s0_x2”“s1_x1”“s1_x2”的数据帧
并且重命名语句也不起作用。
一旦我有了“s0_x1”等,我就可以做一个完整的外部连接来创建我想要的 df。我只是不知道如何在第一个实例中将这些定义为全局变量
【问题讨论】:
-
如果可能的话,我会尽量避免定义这样的全局变量。 stackoverflow.com/a/5036775/7619380
-
我想创建多个变量,以便将它们合并在一起。我发现的唯一关于合并字典的东西会覆盖信息,但我想要一个完整的外部连接。
标签: python for-loop global local