我有以下数据帧:
Date Country Type Consumption
01/01/2019 Fr IE 186
02/01/2019 Fr IE 131
01/01/2019 Fr SE 115
02/01/2019 Fr SE 141
03/01/2019 Fr SE 158
01/01/2019 Po DK 208
01/01/2019 Po IE 150
02/01/2019 Po IE 136
01/01/2019 Po SE 210
02/01/2019 Po SE 195
03/01/2019 Po SE 160
01/01/2019 Hk DK 229
01/01/2019 Hk IE 159
02/01/2019 Hk IE 210
01/01/2019 Hk SE 130
02/01/2019 Hk SE 179
03/01/2019 Hk SE 143
我想按国家/地区和类型将其拆分为多个数据帧。例如,我想
数据框1:
数据框2:
数据框3:
数据框4:
以此类推(&S)。。。你知道吗
我创建了另一个数据帧
df = pd.DataFrame({
"Country": ["Fr", "Po"],
"Type": ["IE", "SE"]})
因为我只想基于“df”中的这些值创建新的数据帧
使用以下代码:
#create unique list of names
UniqueNames = pd.unique(df[['Country','Type']].values.ravel())
DataFrameDict = {elem : pd.DataFrame for elem in UniqueNames}
for key in DataFrameDict.keys():
DataFrameDict[key] = df3[:][df3.Country == key]
但这并不能达到目的&我得到的是所有类型值的数据帧。你知道吗
如何做到这一点?你知道吗
我还尝试了以下代码:
d = {}
for name, group in df3.groupby(['City','Type']):
d['group_' + str(name)] = group
但问题是,它为城市类型的每个独特组合创建数据帧,而我只需要几个组合。你知道吗
数据帧的名称如下 d[“组\('Fr','IE')”] d[“组\('Fr','SE')”]
我能把这些名字改成更简单的名字吗 弗鲁伊 使用 因为我需要在每个数据帧上运行许多其他函数
鉴于我正确地理解了这个问题,如果您只是像下面那样定义关键数据帧df:
您缺少其他组合,如:['Fr'、'SE']和['Po'、'IE']。你知道吗
我把问题解决如下。希望这有助于:
将具有所需值的数据帧转换为元组列表,以便能够循环和过滤它
最后,用列表中的每一项过滤原始数据帧,在这里我打印每一项,但您可能想做其他事情。。。你知道吗
要将每个数据帧保存在新变量中,可以使用列表:
相关问题 更多 >
编程相关推荐