如何在最后一行中以零值删除Pandas DataFrame列

崩溃了

我有一个Pandas数据框,它告诉我商店中商品的每月销售额df.head()

    ID      month   sold
0   150983  0       1.0
1   56520   0       13.0
2   56520   1       7.0
3   56520   2       13.0
4   56520   3       8.0

我要删除上个月没有销售的所有ID。month == 33 & sold == 0进行以下操作

unwanted_df = df[((df['month'] == 33) & (df['sold'] == 0.0))]

我只得到46行,这太少了。但没关系,无论如何我都希望数据具有不同的格式。上表的透视图正是我想要的:

pivoted_df = df.pivot(index='month', columns = 'ID', values = 'sold').fillna(0)
pivoted_df.head()

ID  0   2   3   5   6   7   8   10  11  12  ... 214182  214185  214187  214190  214191  214192  214193  214195  214197  214199
month                                                                                   
0   0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     1.0     0.0
1   0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0
2   0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 ... 0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0
3   0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0
4   0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 ... 0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0

题。如何删除最后一行中值为0的列pivoted_df

丝兰

您可以使用以下一行代码完成此操作:

pivoted_df= pivoted_df.drop(pivoted_df.columns[pivoted_df.iloc[-1,:]==0],axis=1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Pandas DataFrame中获得最小值不为零的第一行索引?

如何删除以最后一行值为条件的pandas数据框列?

熊猫:根据最后一行中的值删除列

如何通过dataframe.get_value()获取pandas中的最后一行值

Pandas DataFrame-删除特定列中与上一行具有相同值的行

如何在rdlc报告中总结每组中列的最后一行值?

在一行上删除 Pandas DataFrame 中的多列

pandas:如果组的最后一行具有特定的列值,如何删除组的所有行

删除列中的最后一行或列中具有最高值的行

删除列中的最后一行或列中具有最高值的行

删除列中的最后一行或列中具有最高值的行

如何删除重复的条目,但保持第一行选择的列值和最后一行选择的列值?

如何在带有混合列类型的Pandas Dataframe中删除所有数字列都为零的行?

如果该列中有任何列包含某个值,则在Pandas Dataframe中删除一行

如果列是 NaN 并且该列不是 NaN 的另一行,如何在 Dataframe 中删除行

如果某个值在列中,如何删除 Pandas DataFrame 行

如果某些列中的每一行值都不为零,则过滤 DataFrame

如何将Pandas DataFrame中的值与上一行和上一列中的值进行比较?

如何在Python Pandas DataFrame中的任何行具有NaN值后删除列

如何在整个范围的每一行中创建最后/最右边的非空值的列

在熊猫的最后一行中删除最高值的列

检查是否删除列中具有指定值的最后一行

如何在Pandas DataFrame中将字典作为最后一行插入

获取 Pandas 数据框中每一行非零值的列索引

Pandas DataFrame:如何按组中的第一行和最后一行计算差异?

如果最后一行是nan,如何删除列

如何将pandas列(之前为零)中的值填充到下一行中的适当整数/浮点值?

如何从 DataFrame 中删除某些列只有零值的行

Pandas Dataframe:如何比较一行的两列中的值是否等于后续行的同一列中的值?