Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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 如何在groupby列中使用具有nan值的groupby_Python_Pandas Groupby - Fatal编程技术网

Python 如何在groupby列中使用具有nan值的groupby

Python 如何在groupby列中使用具有nan值的groupby,python,pandas-groupby,Python,Pandas Groupby,我有以下数据帧: 我想要以下输出: 我曾尝试在“Container”列(以及sum和其他列)上使用groupby,但它只将第一行作为输出 我对蟒蛇和熊猫很陌生。不确定我做的是否正确。 一些更为模糊的问题的答案过于超前,我无法理解。 我只是想知道我是否可以只使用2/3行编码就获得输出。我相信您可以groupby和sum如下所示。dropna将在数据帧中删除NaN/空值 df.dropna().groupby(['Container']).sum() 我相信你可以像下面这样groupby和sum

我有以下数据帧: 我想要以下输出:

我曾尝试在“Container”列(以及sum和其他列)上使用groupby,但它只将第一行作为输出

我对蟒蛇和熊猫很陌生。不确定我做的是否正确。 一些更为模糊的问题的答案过于超前,我无法理解。
我只是想知道我是否可以只使用2/3行编码就获得输出。

我相信您可以
groupby
sum
如下所示。
dropna
将在
数据帧中删除
NaN
/空值

df.dropna().groupby(['Container']).sum()

我相信你可以像下面这样
groupby
sum
dropna
将在
数据帧中删除
NaN
/空值

df.dropna().groupby(['Container']).sum()

将熊猫作为pd导入

df=pd.DataFrame({'id':['aaa','aaa','bbb','ccc','bbb','NaN','NaN','aaa','NaN'], “值”:[1,2,3,4,5,6,7,8,9]})

df

对于范围内的i(len(df)):

df.groupby('id').sum()

df=pd.DataFrame({'id':['aaa','aaa','bbb','ccc','bbb','NaN','NaN','aaa','NaN'], “值”:[1,2,3,4,5,6,7,8,9]})

df

对于范围内的i(len(df)):


df.groupby('id').sum()

预期结果与显示为“输出数据帧”的结果完全相同:原始数据帧的“容器”列中的第一个“NaN”值必须替换为相应的直接上限值。我添加了更多“NaN”值以举例说明:

原始数据帧:

df
       Container   SB No  Pkgs  CBM  Weight
257  CXRU1219452  195375  1650   65   23000
259  BEAU4883430  140801    26    3     575
260          NaN  140868    60    8    1153
261          NaN  140824    11    1     197
262          NaN  140851   253   32    4793
263          NaN  140645    14    1     278
264          NaN  140723     5    0      71
265          NaN  140741     1    0      22
266          NaN  140768     5    0      93
268  SZLU9366565  189355  1800   65   23000
259  ZBCD1234567  100000   100   10    1000
260          NaN  100000   100   10    1000
261          NaN  100000   100   10    1000
262          NaN  100000   100   10    1000
使用“fillna”函数和方法“ffill”,如[

然后您将得到不带“NaN”值的“Container”列:

现在,您可以使用groupby获得预期的“输出数据帧”:

df.groupby(['Container']).sum()

               SB No  Pkgs  CBM  Weight
Container                              
BEAU4883430  1126221   375   45    7182
CXRU1219452   195375  1650   65   23000
SZLU9366565   189355  1800   65   23000
ZBCD1234567   400000   400   40    4000

预期结果与显示为“输出数据帧”的结果完全相同:原始数据帧“容器”列中的第一个“NaN”值必须替换为相应的直接上限值。我添加了更多“NaN”值以举例说明:

原始数据帧:

df
       Container   SB No  Pkgs  CBM  Weight
257  CXRU1219452  195375  1650   65   23000
259  BEAU4883430  140801    26    3     575
260          NaN  140868    60    8    1153
261          NaN  140824    11    1     197
262          NaN  140851   253   32    4793
263          NaN  140645    14    1     278
264          NaN  140723     5    0      71
265          NaN  140741     1    0      22
266          NaN  140768     5    0      93
268  SZLU9366565  189355  1800   65   23000
259  ZBCD1234567  100000   100   10    1000
260          NaN  100000   100   10    1000
261          NaN  100000   100   10    1000
262          NaN  100000   100   10    1000
使用“fillna”函数和方法“ffill”,如[

然后您将得到不带“NaN”值的“Container”列:

现在,您可以使用groupby获得预期的“输出数据帧”:

df.groupby(['Container']).sum()

               SB No  Pkgs  CBM  Weight
Container                              
BEAU4883430  1126221   375   45    7182
CXRU1219452   195375  1650   65   23000
SZLU9366565   189355  1800   65   23000
ZBCD1234567   400000   400   40    4000

你可以发布你的代码来尝试它和结果吗?你可以发布你的代码来尝试它和结果吗?我不知道写答案。因为,今天是我第一天堆叠溢出。(我也不会英语。)我不知道写答案。因为,今天是我第一天堆叠溢出。(我也不会英语。)
df.groupby(['Container']).sum()

               SB No  Pkgs  CBM  Weight
Container                              
BEAU4883430  1126221   375   45    7182
CXRU1219452   195375  1650   65   23000
SZLU9366565   189355  1800   65   23000
ZBCD1234567   400000   400   40    4000