Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在长列表上迭代以生成较小的列表并附加到csv_Python_Pandas_List_Loops_Csv - Fatal编程技术网

Python 在长列表上迭代以生成较小的列表并附加到csv

Python 在长列表上迭代以生成较小的列表并附加到csv,python,pandas,list,loops,csv,Python,Pandas,List,Loops,Csv,正在努力这样做,想知道是否有人能帮上忙。 我有一个生成300个项目的大列表的代码。 我想使用pandas将其写入csv文件,但将不同的子列表写入不同的行。 例如 将项目0-7写入一行,然后1-8、2-9,依此类推,直到293-300。 目前,我正在做的是这样做,并手动更改中的选择 df.iloc[:,2:9] 但我希望有一种方法可以通过一个循环来实现自动化 这就是我迄今为止的一个例子。 sncomo只是一个生成数据的包。它的输出是我想要分割并保存到csv文件的内容 import sncosmo

正在努力这样做,想知道是否有人能帮上忙。 我有一个生成300个项目的大列表的代码。 我想使用pandas将其写入csv文件,但将不同的子列表写入不同的行。 例如 将项目0-7写入一行,然后1-8、2-9,依此类推,直到293-300。 目前,我正在做的是这样做,并手动更改中的选择
df.iloc[:,2:9]
但我希望有一种方法可以通过一个循环来实现自动化

这就是我迄今为止的一个例子。 sncomo只是一个生成数据的包。它的输出是我想要分割并保存到csv文件的内容

import sncosmo
import pandas as pd

days_apart = list(range(55, 300))
model = sncosmo.Model(source="hsiao")
model.set(z=1.5, t0=100)
y = model.bandmag('desr', 'ab', days_apart)
df = pd.DataFrame([y])
df1 = df.iloc[:,2:9]
with open("test_data.csv", "a") as f:
    df1.to_csv(f, header=False)

希望有人能帮忙谢谢

我只会使用
for
循环和
枚举

import sncosmo
import pandas as pd

days_apart = list(range(55, 300))
model = sncosmo.Model(source="hsiao")
model.set(z=1.5, t0=100)
y = model.bandmag('desr', 'ab', days_apart)
df = pd.DataFrame([y])
for i, j in enumerate(range(6,300)):
    df1 = df.iloc[:,i:j+1]
    with open("test_data.csv", "a") as f:
        df1.to_csv(f, header=False)

我只需要使用
for
循环和
枚举

import sncosmo
import pandas as pd

days_apart = list(range(55, 300))
model = sncosmo.Model(source="hsiao")
model.set(z=1.5, t0=100)
y = model.bandmag('desr', 'ab', days_apart)
df = pd.DataFrame([y])
for i, j in enumerate(range(6,300)):
    df1 = df.iloc[:,i:j+1]
    with open("test_data.csv", "a") as f:
        df1.to_csv(f, header=False)