Python 如何将一个数据帧拆分为多个行数较少的数据帧?
例如,如果我有一个由100行和4列组成的Python 如何将一个数据帧拆分为多个行数较少的数据帧?,python,pandas,dataframe,pandas-groupby,Python,Pandas,Dataframe,Pandas Groupby,例如,如果我有一个由100行和4列组成的DataFrame,我如何创建5个新的DataFrames,每个都由20行和4列组成 也就是说,如果原始数据帧的任意列包含列表[0,1,2,3,…,98,99],我如何创建5个新的数据帧,以便第一个数据帧的任意列包含列表[0,1,2,…,9],第二个DataFrame的任意列包含列表[10、11、12、…、19]等 我尝试了以下方法来创建一个由一列组成的数据框,该列包含列表[0,1,2,3,…,98,99],但它给了我100个CSV文件,每个文件只包含一行
DataFrame
,我如何创建5个新的DataFrames
,每个都由20行和4列组成
也就是说,如果原始数据帧的任意列包含列表[0,1,2,3,…,98,99]
,我如何创建5个新的数据帧
,以便第一个数据帧
的任意列包含列表[0,1,2,…,9]
,第二个DataFrame
的任意列包含列表[10、11、12、…、19]
等
我尝试了以下方法来创建一个由一列组成的数据框,该列包含列表[0,1,2,3,…,98,99]
,但它给了我100个CSV
文件,每个文件只包含一行,而不是所需的5个CS在此处输入code
V文件,每个文件包含20行:
import pandas as pd
import numpy as np
list = []
for i in range (0, 100):
list.append(i)
df = pd.DataFrame(data=list, columns=['A'])
groups = df['A'].groupby(np.arange(len(df['A']/10)))
for (frameno, frame) in groups:
frame.to_csv("/Users/ephemeralhappiness/Desktop/Cycle Test/" + "%s.csv" % frameno)
只需将您的groupby更改为:
# to get 5 groups
nrows = 20
groups = df.groupby(df.index // nrows)
print(groups.ngroups)
5
只需将您的groupby更改为:
# to get 5 groups
nrows = 20
groups = df.groupby(df.index // nrows)
print(groups.ngroups)
5
你会考虑<代码>期望=5;组=DF.GROPBY(DF.Eng/(LeN(DF)/期望))< /代码>一个合理的泛化?@标记应该产生相同数量的组,你会考虑<代码>期望=5;groups=df.groupby(df.index/(len(df)/所需))
一个合理的泛化?@标记,该标记应生成相同数量的组