如何在多索引熊猫数据框中按组更新前N行中的值?

雪橇

我正在尝试更新多索引数据框中的前N行,但是在找到解决方案时遇到了一些麻烦,因此我想为其创建一个帖子。

示例代码如下:

# Imports
import numpy as np
import pandas as pd

# Set Up Data Frame
dates = pd.date_range('1/1/2000', periods=8)
df = pd.DataFrame(np.random.randn(8, 4), columns=['A', 'B', 'C', 'D'])
df['DATE'] = dates
df['CATEGORY'] = ['A','B','A','B','A','B','A','B']

# Set Index
df.set_index(['CATEGORY','DATE'],inplace=True)
df.sort(inplace=True)

# Get First Two Rows of Each Category
df.groupby(level=0).apply(lambda x: x.iloc[0:2])

# Set The Value of Column 'C' Equal to Zero
# ???

这样我就可以使用“ iloc”选择行,但是在那之后我不确定如何将“ C”列设置为零。感觉好像我正在以错误的方式进行操作。任何帮助将不胜感激。谢谢!

克里斯布

怎么样-首先定义一个函数,该函数采用一个数据框,并用指定的值替换前x个记录。

def replace_first_x(group_df, x, value):
    group_df.iloc[:x, :] = value
    return group_df

然后,groupby使用apply将其传递给对象。

In [97]: df.groupby(level=0).apply(lambda df: replace_first_x(df, 2, 9999))
Out[97]: 
                               A            B            C            D
CATEGORY DATE                                                          
A        2000-01-01  9999.000000  9999.000000  9999.000000  9999.000000
         2000-01-03  9999.000000  9999.000000  9999.000000  9999.000000
         2000-01-05     1.590503     0.948911    -0.268071     0.622280
         2000-01-07    -0.493866     1.222231     0.125037     0.071064
B        2000-01-02  9999.000000  9999.000000  9999.000000  9999.000000
         2000-01-04  9999.000000  9999.000000  9999.000000  9999.000000
         2000-01-06     1.663430    -1.170716     2.044815    -2.081035
         2000-01-08     1.593104     0.108531    -1.381218    -0.517312

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在熊猫数据框中按值组找到n个最大值的总和?

来自分类Dev

如何根据多索引熊猫数据框中的行索引值创建列?

来自分类Dev

如何根据多索引熊猫数据框中的行索引值创建列?

来自分类Dev

如何在熊猫中创建多索引数据框?

来自分类Dev

如何访问熊猫多索引数据框中的特定行

来自分类Dev

如何在每个组的多索引数据框中删除第一行?

来自分类Dev

熊猫多索引数据框中的组之间的计算

来自分类Dev

如何在熊猫数据框中按字符串值的条件删除行?

来自分类Dev

如何在熊猫数据框中的多索引中更改外层索引?

来自分类Dev

如何在dplyr中按组删除前n行

来自分类Dev

从多索引熊猫数据框中获取前 3 个值

来自分类Dev

多索引数据框中的熊猫索引

来自分类Dev

如何在python熊猫中找到带有多索引的两个数据框列中的最小值?

来自分类Dev

如何在熊猫数据框中设置行值?

来自分类Dev

使用列中的值对熊猫数据框进行多索引

来自分类Dev

熊猫:在多索引数据框中设置值

来自分类Dev

如何为熊猫数据框中的多索引中的列选择最大值?

来自分类Dev

如何在熊猫数据框中仅获取具有给定值(或一组值)的行*和仅*列

来自分类Dev

在熊猫数据框中按行计数编制索引

来自分类Dev

如何在熊猫数据框中获取行,并在列中包含最大值并保持原始索引?

来自分类Dev

如何在熊猫数据框中获取行,并在列中包含最大值,并保持原始索引?

来自分类Dev

如何计算熊猫中重新采样的多索引数据框

来自分类Dev

如何计算熊猫中重新采样的多索引数据框

来自分类Dev

保存到csv时如何从多索引熊猫数据框中删除重复的值

来自分类Dev

如何在多索引熊猫数据框中获取随机样本?

来自分类Dev

如何为每个组设置熊猫数据框中前几行的值

来自分类Dev

在熊猫中融化多索引数据框

来自分类Dev

如何在多索引数据框中更改索引

来自分类Dev

熊猫:根据其组内元素的相对索引在多索引数据框中创建列

Related 相关文章

  1. 1

    如何在熊猫数据框中按值组找到n个最大值的总和?

  2. 2

    如何根据多索引熊猫数据框中的行索引值创建列?

  3. 3

    如何根据多索引熊猫数据框中的行索引值创建列?

  4. 4

    如何在熊猫中创建多索引数据框?

  5. 5

    如何访问熊猫多索引数据框中的特定行

  6. 6

    如何在每个组的多索引数据框中删除第一行?

  7. 7

    熊猫多索引数据框中的组之间的计算

  8. 8

    如何在熊猫数据框中按字符串值的条件删除行?

  9. 9

    如何在熊猫数据框中的多索引中更改外层索引?

  10. 10

    如何在dplyr中按组删除前n行

  11. 11

    从多索引熊猫数据框中获取前 3 个值

  12. 12

    多索引数据框中的熊猫索引

  13. 13

    如何在python熊猫中找到带有多索引的两个数据框列中的最小值?

  14. 14

    如何在熊猫数据框中设置行值?

  15. 15

    使用列中的值对熊猫数据框进行多索引

  16. 16

    熊猫:在多索引数据框中设置值

  17. 17

    如何为熊猫数据框中的多索引中的列选择最大值?

  18. 18

    如何在熊猫数据框中仅获取具有给定值(或一组值)的行*和仅*列

  19. 19

    在熊猫数据框中按行计数编制索引

  20. 20

    如何在熊猫数据框中获取行,并在列中包含最大值并保持原始索引?

  21. 21

    如何在熊猫数据框中获取行,并在列中包含最大值,并保持原始索引?

  22. 22

    如何计算熊猫中重新采样的多索引数据框

  23. 23

    如何计算熊猫中重新采样的多索引数据框

  24. 24

    保存到csv时如何从多索引熊猫数据框中删除重复的值

  25. 25

    如何在多索引熊猫数据框中获取随机样本?

  26. 26

    如何为每个组设置熊猫数据框中前几行的值

  27. 27

    在熊猫中融化多索引数据框

  28. 28

    如何在多索引数据框中更改索引

  29. 29

    熊猫:根据其组内元素的相对索引在多索引数据框中创建列

热门标签

归档