小编Kyl*_*yle的帖子

Python Pandas动态创建数据帧

下面的代码将在一个数据帧中生成所需的输出,但是,我想在FOR循环中动态创建数据帧,然后将移位的值分配给该数据帧.例如,数据框df_lag_12只包含column1_t12和column2_12.任何想法将不胜感激.我试图使用EXEC语句动态创建12个数据帧,谷歌搜索似乎表明这是不好的做法.

import pandas as pd
list1=list(range(0,20))
list2=list(range(19,-1,-1))
d={'column1':list(range(0,20)),
   'column2':list(range(19,-1,-1))}
df=pd.DataFrame(d)
df_lags=pd.DataFrame()
for col in df.columns:
    for i in range(12,0,-1):
        df_lags[col+'_t'+str(i)]=df[col].shift(i)
    df_lags[col]=df[col].values  
print(df_lags)
for df in (range(12,0,-1)):
    exec('model_data_lag_'+str(df)+'=pd.DataFrame()')
Run Code Online (Sandbox Code Playgroud)

dymanically创建的数据帧DF_LAGS_12的所需输出:

var_list=['column1_t12','column2_t12']
df_lags_12=df_lags[var_list]  
print(df_lags_12)
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

4
推荐指数
1
解决办法
5550
查看次数

增量值的python字典

我想执行以下操作:给定观察总数(在本例中为变量'total_models'),我想通过给定数量的python会话解析这个并行处理('sessions'变量和'by'变量).我认为最好使用字典来执行此任务.

可以在'obs_dict'对象中找到所需的结果.对于'total_models','sessions'和'by'的任何给定输入.你能协助在字典对象中创建所需的输出吗?如果可能的话,我希望使用某种列表或字典理解来看到答案.

total_models=1000000
sessions=4
by=int(total_models/sessions)

### Desired Output.
obs_dict={1:'0:250000',2:'250001:500000',3:'500001:750000',4:'750001:1000000'}
Run Code Online (Sandbox Code Playgroud)

python dictionary

2
推荐指数
1
解决办法
63
查看次数

标签 统计

python ×2

dataframe ×1

dictionary ×1

pandas ×1