Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python/Pandas:确定系列中的值计数并报告。另请报告「;“南”;计数_Python_Pandas_Series - Fatal编程技术网

Python/Pandas:确定系列中的值计数并报告。另请报告「;“南”;计数

Python/Pandas:确定系列中的值计数并报告。另请报告「;“南”;计数,python,pandas,series,Python,Pandas,Series,在下面的代码中,我想计算特定值在“value”列中出现的次数,并在“count\u Non\u Null”列中报告它。类似地,我想计算null(np.nan)出现的次数,并在“count_Nulls”列中报告 在下面的示例中,值“NFLX”出现一次,“FB”出现2次,“MSFT”出现3次等。np.nan也出现4次 其目的是生成与图像中给出的内容类似的输出 尝试使用transform和size来获得非nan值的计数,然后对nan求和,并将它们与loc分配给nan行 设置 import pandas

在下面的代码中,我想计算特定值在“value”列中出现的次数,并在“count\u Non\u Null”列中报告它。类似地,我想计算null(np.nan)出现的次数,并在“count_Nulls”列中报告

在下面的示例中,值“NFLX”出现一次,“FB”出现2次,“MSFT”出现3次等。np.nan也出现4次

其目的是生成与图像中给出的内容类似的输出


尝试使用
transform
size
来获得非nan值的计数,然后对nan求和,并将它们与
loc
分配给nan行

设置

import pandas as pd
import numpy as np

data = { 
    'Value': [
        'NFLX','FB','GOOG','VZ',np.nan,'MSFT','AMZN',
        np.nan,'MSFT',np.nan,'MSFT','INTC','AAPL',
        np.nan,'AMZN','FB'
    ]
}

df = pd.DataFrame(data) # no need for 'columns' argument
调用具有大小的转换并将NaN相加

df = df.assign(
    Count_Non_Null=df.groupby('Value')['Value'].transform('size'), # call .fillna(False) here if you need it
    Count_Nulls=np.nan # You can also use False here
)

df.loc[pd.isnull(df['Value']), 'Count_Nulls'] = pd.isnull(df['Value']).sum()
结果

>>> df
   Value  Count_Non_Null  Count_Nulls
0   NFLX             1.0          NaN
1     FB             2.0          NaN
2   GOOG             1.0          NaN
3     VZ             1.0          NaN
4    NaN             NaN          4.0
5   MSFT             3.0          NaN
6   AMZN             2.0          NaN
7    NaN             NaN          4.0
8   MSFT             3.0          NaN
9    NaN             NaN          4.0
10  MSFT             3.0          NaN
11  INTC             1.0          NaN
12  AAPL             1.0          NaN
13   NaN             NaN          4.0
14  AMZN             2.0          NaN
15    FB             2.0          NaN

谢谢你,托马斯!!您给出的解决方案会产生预期的结果。
>>> df
   Value  Count_Non_Null  Count_Nulls
0   NFLX             1.0          NaN
1     FB             2.0          NaN
2   GOOG             1.0          NaN
3     VZ             1.0          NaN
4    NaN             NaN          4.0
5   MSFT             3.0          NaN
6   AMZN             2.0          NaN
7    NaN             NaN          4.0
8   MSFT             3.0          NaN
9    NaN             NaN          4.0
10  MSFT             3.0          NaN
11  INTC             1.0          NaN
12  AAPL             1.0          NaN
13   NaN             NaN          4.0
14  AMZN             2.0          NaN
15    FB             2.0          NaN