Python 如何计算熊猫中的以下行数(新)

Python 如何计算熊猫中的以下行数(新),python,pandas,dataframe,Python,Pandas,Dataframe,关于下面的问题,我想数一数下面的行数。 多亏了这个答案,我才能够处理数据 但我遇到了一些麻烦和例外 首先,我想用startswith(“a”)剪切df df1 df2 df3 df4 df5 我想计算每个df的行数 "a" number a0 1 a1 2 a0 2 a2 1 a2 1 这怎么可能呢 我很高兴有人告诉我如何处理此类问题。您可以通过使用cumsum创建的自定义系列使用: print (df.B.str.startswith("a").cumsum()) 0 1

关于下面的问题,我想数一数下面的行数。 多亏了这个答案,我才能够处理数据

但我遇到了一些麻烦和例外

首先,我想用startswith(“a”)剪切df

df1

df2

df3

df4

df5

我想计算每个df的行数

"a"  number
a0  1
a1  2
a0  2
a2  1
a2  1
这怎么可能呢

我很高兴有人告诉我如何处理此类问题。

您可以通过使用
cumsum
创建的自定义
系列使用:

print (df.B.str.startswith("a").cumsum())
0    1
1    2
2    2
3    3
4    3
5    4
6    5
Name: B, dtype: int32

df1 = df.B.groupby(df.B.str.startswith("a").cumsum()).agg(['first', 'size'])
df1.columns =['"A"','number']
df1.index.name = None
print (df1)
  "A"  number
1  a0       1
2  a1       2
3  a0       2
4  a2       1
5  a2       1
您可以通过使用
cumsum
创建的自定义
系列使用:

print (df.B.str.startswith("a").cumsum())
0    1
1    2
2    2
3    3
4    3
5    4
6    5
Name: B, dtype: int32

df1 = df.B.groupby(df.B.str.startswith("a").cumsum()).agg(['first', 'size'])
df1.columns =['"A"','number']
df1.index.name = None
print (df1)
  "A"  number
1  a0       1
2  a1       2
3  a0       2
4  a2       1
5  a2       1
A B
4 a0
5 b2
A B
6 a2
A B
7 a2
"a"  number
a0  1
a1  2
a0  2
a2  1
a2  1
print (df.B.str.startswith("a").cumsum())
0    1
1    2
2    2
3    3
4    3
5    4
6    5
Name: B, dtype: int32

df1 = df.B.groupby(df.B.str.startswith("a").cumsum()).agg(['first', 'size'])
df1.columns =['"A"','number']
df1.index.name = None
print (df1)
  "A"  number
1  a0       1
2  a1       2
3  a0       2
4  a2       1
5  a2       1