基于Column值的Pandas DataFrame操作

米格

假设我有一个基于“ Dict of Dicts'Group”列表(也在下面)的以下格式的Pandas Dataframe…

ITEMS={
    “Item_group1”:{‘Stuff’:’Some stuf’
            ‘More Stuff’:’Extra Stuff’
            Group:[[Iteration1, 18, 25,0], [Iteration1, 43, 67,1], [Iteration1, 87, 76,1],
                [Iteration2, 45, 29,0], [Iteration2, 44, 77,1], [Iteration2, 43, 74,0]],

            }
    “Item_group2”:{‘Stuff’:’Some stuf’
            ‘More Stuff’:’Extra Stuff’
            Group:[[Iteration1, 75, 564,0], [Iteration1, 21, 87,1], [Iteration1, 7, 5,1],
                [Iteration2, 54, 24,0], [Iteration2, 7, 45,1], [Iteration2, 45, 745,0]],
            }

DataFrame采用以下格式…。

Iteration   Value1  Value2  Feature Active
Iteration1  18      25      0
Iteration1  3       67      1
Iteration1  87      76      1
Iteration2  45      29      0
Iteration2  44      7       1
Iteration2  43      74      0

我如何基于'Feature Active'== 1来分离和计算每次迭代的平均值,而忽略任何'Feature Active'== 0条目?

在将“迭代”和“功能有效”作为键分开之后,我有以下代码来计算Value1和Value2每次迭代的统计信息,但是我不关心它显示“功能有效” == 0。

FeatureAvgs = Item_group1_DF.groupby(['Iteration’,’Feature Active'])
print np.round(FeatureAvgs[['Value1','Value2']].describe(), decimals=1)

产生以下输出…(忽略实际数字,这是从另一个数据框中获取的)

Iteration   Feature Enabled
Iteration1  0               count   3672.0   3672.0
                            mean   -1352.5      0.0
                            std      220.5      0.0
                            min    -1920.0      0.0
                            25%    -1507.2      0.0
                            50%    -1267.0      0.0
                            75%    -1184.0      0.0
                            max     -785.0      0.0
            1               count    580.0    580.0
                            mean   -1368.6  -1394.5
                            std      151.5    157.7
                            min    -1788.0  -1805.0
                            25%    -1454.2  -1490.2
                            50%    -1335.5  -1361.0
                            75%    -1270.0  -1291.0
                            max    -1045.0  -1033.0
Iteration2  0               count  20612.0  20612.0
                            mean   -1073.5      0.0
                            std      142.3      0.0
                            min    -1730.0      0.0
                            25%    -1088.0      0.0
                            50%    -1036.0      0.0
                            75%    -1005.0      0.0
                            max     -805.0      0.0
            1               count  14718.0  14718.0
                            mean   -1113.6  -1161.1
                            std      129.3    134.9
                            min    -1773.0  -1818.0
                            25%    -1151.0  -1214.0
                            50%    -1095.0  -1122.0
                            75%    -1043.0  -1075.0
                            max     -832.0   -897.0

但是我仅在该功能处于活动状态时才使用平均值(== 1)。很抱歉,这个问题很长,但是我是Pandas的新手,仍然可以阅读文档

埃德·楚姆

除了过滤groupby对象外,您还可以先过滤初始df:

FeatureAvgs = Item_group1_DF[item_group1_DF['Feature Enabled'] == 1].groupby(['Iteration’,’Feature Active'])[['Value1','Value2']].mean()

另外,describe如果您只想mean使用just use mean也不需要使用。此外,您可以使用以下方法访问mean列的结果describe

print np.round(FeatureAvgs[['Value1','Value2']].describe()['mean'], decimals=1)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

基于DataFrame列的操作

来自分类Dev

基于条件的Pandas DataFrame重复值

来自分类Dev

基于条件的Pandas DataFrame重复值

来自分类Dev

基于变量设置 Pandas Dataframe 的列值

来自分类Dev

基于groupby操作的dataframe新列

来自分类Dev

写入操作后,Pandas DataFrame包含NaN

来自分类Dev

使用NaN的Python pandas DataFrame操作

来自分类Dev

Python Pandas中的DataFrame中的日期操作?

来自分类Dev

对Pandas DataFrame的不同列执行不同的操作

来自分类Dev

操作包含Twitter API词典的Pandas DataFrame

来自分类Dev

在 Pandas DataFrame 操作中处理零或 NaN

来自分类Dev

Pandas DataFrame基于多个条件的分组添加新的列值

来自分类Dev

在Python Pandas中基于DataFrame中的日期进行值计算?

来自分类Dev

如何基于反向词典值修改Pandas DataFrame?

来自分类Dev

基于Python Pandas中DataFrame中的值的总和?

来自分类Dev

基于标签/列值的python pandas dataframe转换

来自分类Dev

基于列名称条件的pandas dataframe列值总和

来自分类Dev

Pandas - 基于特定列的值在 DataFrame 中创建单独的列

来自分类Dev

Pandas DataFrame:基于列的最小值/最大值计算值

来自分类Dev

基于列名pandas的列上的操作

来自分类Dev

分组并在Pandas Dataframe上使用APPLY和MAX操作

来自分类Dev

多数据类型pandas Dataframe中的比较操作

来自分类Dev

我如何在pandas / dataframe中执行以下python操作

来自分类Dev

使用pandas DataFrame.apply进行列操作

来自分类Dev

使用其索引对 Pandas Dataframe 列进行操作

来自分类Dev

pandas.DataFrame 上的成对行操作矩阵

来自分类Dev

用 apply 替换 double for loop pandas DataFrame 操作

来自分类Dev

如何基于Pandas中的另一个DataFrame更改DataFrame的某些列中的值

来自分类Dev

基于单列值重构DataFrame

Related 相关文章

  1. 1

    基于DataFrame列的操作

  2. 2

    基于条件的Pandas DataFrame重复值

  3. 3

    基于条件的Pandas DataFrame重复值

  4. 4

    基于变量设置 Pandas Dataframe 的列值

  5. 5

    基于groupby操作的dataframe新列

  6. 6

    写入操作后,Pandas DataFrame包含NaN

  7. 7

    使用NaN的Python pandas DataFrame操作

  8. 8

    Python Pandas中的DataFrame中的日期操作?

  9. 9

    对Pandas DataFrame的不同列执行不同的操作

  10. 10

    操作包含Twitter API词典的Pandas DataFrame

  11. 11

    在 Pandas DataFrame 操作中处理零或 NaN

  12. 12

    Pandas DataFrame基于多个条件的分组添加新的列值

  13. 13

    在Python Pandas中基于DataFrame中的日期进行值计算?

  14. 14

    如何基于反向词典值修改Pandas DataFrame?

  15. 15

    基于Python Pandas中DataFrame中的值的总和?

  16. 16

    基于标签/列值的python pandas dataframe转换

  17. 17

    基于列名称条件的pandas dataframe列值总和

  18. 18

    Pandas - 基于特定列的值在 DataFrame 中创建单独的列

  19. 19

    Pandas DataFrame:基于列的最小值/最大值计算值

  20. 20

    基于列名pandas的列上的操作

  21. 21

    分组并在Pandas Dataframe上使用APPLY和MAX操作

  22. 22

    多数据类型pandas Dataframe中的比较操作

  23. 23

    我如何在pandas / dataframe中执行以下python操作

  24. 24

    使用pandas DataFrame.apply进行列操作

  25. 25

    使用其索引对 Pandas Dataframe 列进行操作

  26. 26

    pandas.DataFrame 上的成对行操作矩阵

  27. 27

    用 apply 替换 double for loop pandas DataFrame 操作

  28. 28

    如何基于Pandas中的另一个DataFrame更改DataFrame的某些列中的值

  29. 29

    基于单列值重构DataFrame

热门标签

归档