Python 如何根据循环的结果创建新的df?
我使用for循环打印我每天收集的一些参数。我的剧本如下: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 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)