Python 如何根据循环的结果创建新的df?

Python 如何根据循环的结果创建新的df?,python,pandas,Python,Pandas,我使用for循环打印我每天收集的一些参数。我的剧本如下: for i in pd.date_range('2017-02-01', periods=380, freq='D'): results_df = get_instances_for_date(i).as_matrix() row = results_df[0] print(i, row[0], row[1], row[2]) 输出: 2017-02-01 12:00:00 332 722 2.2893

我使用for循环打印我每天收集的一些参数。我的剧本如下:

for i in pd.date_range('2017-02-01', periods=380, freq='D'):
   results_df = get_instances_for_date(i).as_matrix()
   row = results_df[0]
   print(i, row[0], row[1], row[2])
输出:

2017-02-01 12:00:00    332   722   2.2893
2017-02-02 12:00:00    332   722   2.2893
2017-02-03 12:00:00    332   722   2.2893
2017-02-04 12:00:00    332   722   2.2893
2017-02-05 12:00:00    332   722   2.2893
2017-02-06 12:00:00    331   720   2.2890
2017-02-07 12:00:00    331   720   2.2890
2017-02-08 12:00:00    334   726   2.3049
2017-02-09 12:00:00    334   726   2.3049
2017-02-10 12:00:00    334   726   2.3049
...................    ...   ...   ......
2018-02-15 12:00:00    410   813   4.0213

我应该如何为这些结果创建df,以便进一步使用它?

请尝试以下方法。诀窍是将结果附加到一个列表中,然后在末尾聚合它们。代码未经测试,因为您尚未提供示例数据,但原理是正确的

import pandas as pd

lst = []
appender = lst.append

for i in pd.date_range('2017-02-01', periods=380, freq='D'):
    results_df = get_instances_for_date(i).as_matrix()
    row = results_df[0]
    appender([i, row[0], row[1], row[2]])

df = pd.DataFrame(lst, columns=['A', 'B', 'C', 'D'])

在循环外部,初始化空数据帧,然后使用以下方法:

df = pd.Dataframe()
for item in items:
    row = something_that_returns_a_list()
    df = df.append(row)