我试图创建一个数据帧列表,其中每个数据帧是一个较大数据帧的3行。

    dframes = [df[0:3], df[3:6],...,df[2000:2003]]

我对编程还很陌生,为什么:
    x = 3
    dframes = []
    for i in range(0, len(df)):
        dframes = dframes.append(df[i:x])
        i = x
        x = x + 3

dframes = dframes.append(df[i:x])
AttributeError: 'NoneType' object has no attribute 'append'

最佳答案

使用np.split
安装程序
考虑数据帧df

df = pd.DataFrame(dict(A=range(15), B=list('abcdefghijklmno')))

解决方案
dframes = np.split(df, range(3, len(df), 3))

Output
for d in dframes:
    print(d, '\n')

   A  B
0  0  a
1  1  b
2  2  c

   A  B
3  3  d
4  4  e
5  5  f

   A  B
6  6  g
7  7  h
8  8  i

     A  B
9    9  j
10  10  k
11  11  l

     A  B
12  12  m
13  13  n
14  14  o

关于python - 创建切片数据帧的列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46189035/

10-11 16:07