我能够为dict的每个键创建单独的DF。然而,想知道一种更恐怖的方式,是可能的: 我的代码正在运行。
dataDct.keys()
dict_keys(['PETR4_Dai', 'PETR4_H1_', 'PETR4_M15', 'PETR4_M5_',
'PETR4_Mon','PETR4_Wee'])
try:
# Petr4
dfp5 = dataDct['PETR4_M5_'].drop(['<TICKVOL>','<SPREAD>'],axis=1)
dfp15 = dataDct['PETR4_M15'].drop(['<TICKVOL>','<SPREAD>'],axis=1)
dfph1 = dataDct['PETR4_H1_'].drop(['<TICKVOL>','<SPREAD>'],axis=1)
dfpd = dataDct['PETR4_Dai'].drop(['<TICKVOL>','<SPREAD>'],axis=1)
dfpw = dataDct['PETR4_Wee'].drop(['<TICKVOL>','<SPREAD>'],axis=1)
dfpm = dataDct['PETR4_Mon'].drop(['<TICKVOL>','<SPREAD>'],axis=1)
except:
pass
因此,我试图让它变得更加恐怖:
#name of the DF:
lables = list(dataDct.keys())
df = []
for i in dataDct.keys():
df.append(dataDct[i].drop(['<TICKVOL>','<SPREAD>'],axis=1))
listup = pd.DataFrame()
for label,value in zip(lables,df):
listup[label] = [(value)]
or
listup = pd.DataFrame()
for label,value in zip(lables,df):
listup[label] = [pd.DataFrame.from_dict(value)]
所有案例都不起作用,我也尝试过列表和词典。没有成功。我也无法将它分开。
想知道如何为dict的每个键创建DF。使用键作为DF的名称; 任何帮助都会被贬低!提前谢谢!
答案 0 :(得分:0)
我能想到做你想做的事的唯一方法是创建一个新的字典,其字符与预先存在的字典中的键相同,其值为DataFrames。从这个意义上讲,您可以使用名称(键)动态创建DataFrames(值),并随意调用它们。 (您甚至可以将.name
分配给与键名匹配的DataFrame。)
import pandas as pd
new_dict = {}
for key in dataDct.keys():
new_dict[key] = pd.DataFrame()
new_dict[key].name = key