在Python中提取sum的名称

2024-06-01 08:19:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下数据帧称为df

KEY_ID  READY   STEADY      GO
001     Yes     Maybe       123
002     No      Maybe       123
003     Yes     Sometimes   234
004     Yes     Later       234
005     No      Sometimes   345

我用测向计数()查看一个值的填充次数(每次为5):

KEY_ID  5
READY   5
STEADY  5
GO      5

但我也想看看stable列中的值被使用了多少次。我用abc = df['STEADY'].value_counts()来做这件事,它给了我:

Sometimes  2
Maybe      2
Later      1

通过for循环,我可以提取abc中的值的信息,我刚刚用value\u counts()创建了这些值,如下所示:

for i in abc:
    print(i)

但是,我尝试了几种方法,包括

for i,j in enumerate(abc):
    print(i); print(j)

有时,也许,以后,为了得到的名字,我不想手动键入它们。如何提取这些值的名称?你知道吗


Tags: keynoidgodfforvalueyes
3条回答

你在找groupby()?你知道吗

import pandas as pd
lst = [['Apple', 1], ['Orange', 1], ['Apple', 2], ['Orange', 1], ['Apple', 3], ['Orange', 1]]
df = pd.DataFrame(lst)
df.columns = ['fruit', 'amount']

df.groupby('fruit').sum()

IIUC公司:

In [339]: df
Out[339]:
     name  val
0   Apple    1
1  Orange    1
2   Apple    2
3  Orange    1
4   Apple    3
5  Orange    1

In [340]: df.groupby('name', as_index=False)['val'].sum()
Out[340]:
     name  val
0   Apple    6
1  Orange    3

In [341]: df.groupby('name', as_index=False)['val'].sum()['name']
Out[341]:
0     Apple
1    Orange
Name: name, dtype: object

In [342]: df.groupby('name', as_index=False)['val'].sum()['name'].tolist()
Out[342]: ['Apple', 'Orange']
import pandas as pd
rowdata = [['Apple', 1], ['Orange', 1], ['Apple', 2], ['Orange', 1], ['Apple', 3],['Orange', 1]]
df = pd.DataFrame(rowdata)
df.groupby(0).sum()

这就像下面给出的数据帧

        1
0
Apple   6
Orange  3

但就是df.sum()会这样给予

0    AppleOrangeAppleOrangeAppleOrange
1                                    9

我希望你像第一个那样期待。

相关问题 更多 >