Ann*_*lix 10 python loops append dataframe pandas
我正在创建一个名为data_day的新DataFrame,其中包含新功能,用于从前一个 DataFrame df的日期时间戳推断出来的每一天。
我的新数据帧data_day是 30 个独立的,我需要在 unic 数据帧 (final_data_day) 的末尾连接/附加它们。
每天的 for 循环定义如下:
num_days=len(list_day)
#list_day= random.sample(list_day,num_days_to_simulate)
data_frame = pd.DataFrame()
for i, day in enumerate(list_day):
print('*** ',day,' ***')
data_day=df[df.day==day]
.....................
final_data_day = pd.concat()
Run Code Online (Sandbox Code Playgroud)
希望我很清楚。我的基本上是在非平凡的 for 循环中生成的数据帧的追加/串联问题
Dav*_*nck 13
Pandas concat 需要一个数据框列表。如果您可以使用循环函数生成数据帧列表,完成后您可以将列表连接在一起:
data_day_list = []
for i, day in enumerate(list_day):
data_day = df[df.day==day]
data_day_list.append(data_day)
final_data_day = pd.concat(data_day_list)
Run Code Online (Sandbox Code Playgroud)
耗尽生成器比附加到列表更优雅(如果不是更有效)。例如:
def yielder(df, list_day):
for i, day in enumerate(list_day):
yield df[df['day'] == day]
final_data_day = pd.concat(list(yielder(df, list_day))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18855 次 |
| 最近记录: |