本文是小编为大家收集整理的关于Python Pandas <pandas.core.groupby.DataFrameGroupBy对象在...>。的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。
问题描述
我正在尝试分组并计数相同的信息:
#Functions def postal_saude (): global df, lista_solic #List of solicitantes in Postal Saude list_sol = [lista_solic["name1"], lista_solic["name2"]] #filter Postal Saude Solicitantes df = df[(df['Cliente']==lista_clientes["6"]) & (df['Nome do solicitante'].isin(list_sol))] #Alphabetical order df = df.sort_index(by=['Nome do solicitante', 'nomeCorrespondente']) #Grouping data of column grouping = df.groupby('Tipo do serviços'); print (grouping) postal_saude()
当它到达 df.groupby 时会引起错误
我尝试搜索相同的错误,但是我没有找到有效的答案来帮助我解决问题.
推荐答案
使用映射器的组系列(dict或键功能,应用给定功能 要组为串联)或一系列列
返回结果
这是一个快速示例:
df = pd.DataFrame({'a':[1,1,1,2,2,2,3,3,3,3],'b':np.random.randn(10)}) df a b 0 1 1.048099 1 1 -0.830804 2 1 1.007282 3 2 -0.470914 4 2 1.948448 5 2 -0.144317 6 3 -0.645503 7 3 -1.694219 8 3 0.375280 9 3 -0.065624 groups = df.groupby('a') groups # Tells you what "df.groupby('a')" is, not an error <pandas.core.groupby.DataFrameGroupBy object at 0x00000000097EEB38> groups.count() # count the number of 1 present in the 'a' column b a 1 3 2 3 3 4 groups.sum() # sums the 'b' column values based on 'a' grouping b a 1 1.224577 2 1.333217 3 -2.030066
您明白了,可以使用我提供的第一个链接从这里构建.
df_count = groups.count() df_count b a 1 3 2 3 3 4 type(df_count) # assigning the `.count()` output to a variable create a new df pandas.core.frame.DataFrame
问题描述
I am trying to group and count the same info in a row:
#Functions def postal_saude (): global df, lista_solic #List of solicitantes in Postal Saude list_sol = [lista_solic["name1"], lista_solic["name2"]] #filter Postal Saude Solicitantes df = df[(df['Cliente']==lista_clientes["6"]) & (df['Nome do solicitante'].isin(list_sol))] #Alphabetical order df = df.sort_index(by=['Nome do solicitante', 'nomeCorrespondente']) #Grouping data of column grouping = df.groupby('Tipo do serviços'); print (grouping) postal_saude()
When it gets to the df.groupby it raises an error
I have tried searching this same error but I have not found a valid answer to help me fix my problem.
推荐答案
Take a look at this documentation about Group By
Group series using mapper (dict or key function, apply given function to group, return result as series) or by a series of columns
The previous is taken from here
Here's a quick example:
df = pd.DataFrame({'a':[1,1,1,2,2,2,3,3,3,3],'b':np.random.randn(10)}) df a b 0 1 1.048099 1 1 -0.830804 2 1 1.007282 3 2 -0.470914 4 2 1.948448 5 2 -0.144317 6 3 -0.645503 7 3 -1.694219 8 3 0.375280 9 3 -0.065624 groups = df.groupby('a') groups # Tells you what "df.groupby('a')" is, not an error <pandas.core.groupby.DataFrameGroupBy object at 0x00000000097EEB38> groups.count() # count the number of 1 present in the 'a' column b a 1 3 2 3 3 4 groups.sum() # sums the 'b' column values based on 'a' grouping b a 1 1.224577 2 1.333217 3 -2.030066
You get the idea, you can build from here using the first link I provided.
df_count = groups.count() df_count b a 1 3 2 3 3 4 type(df_count) # assigning the `.count()` output to a variable create a new df pandas.core.frame.DataFrame