如何根据布尔条件更改熊猫数据框中的单元格

阿维·阿隆

我必须遵循数据框气候记录我成功从该数据帧的leap年中删除了所有2月29日,因为我打算对“ Day of year”列(使用.dt.dayofyear创建)进行分组,因此我决定忽略多余的extra年日。现在,为了按“一年中的天”列进行分组,如果该天是三月初或更晚,则必须从leap年的天数中减去1。否则,the年将具有366天而不是355天(即使删除了leap天也是如此)。

这是我的代码:

clim_rec = pd.read_csv("daily_climate_records.csv")
clim_rec['Date'] = pd.to_datetime(clim_rec['Date']) # converting "Date" column from string into datetime format

# Let's drop all leaping days by masking all Feb 29 days
feb_29_mask = ~((clim_rec.Date.dt.month == 2) & (clim_rec.Date.dt.day == 29))
clim_rec = clim_rec.where(feb_29_mask).dropna()

# Let's add new column with the "day of year" in order to group by this column
clim_rec['Day of year'] = clim_rec['Date'].dt.dayofyear
print(clim_rec.head())
#print('---------------------------------------------------')
# Now, if the year is a leap year and the dayofyear is greater than the dayofyear of Feb-29
# we subtract 1 from dayofyear. After doing that we will get values 1-365 for dayofyear
leap_year_mask = (clim_rec.Date.dt.year % 4 == 0) & ((clim_rec.Date.dt.year % 100 != 0)
                 |(clim_rec.Date.dt.year % 400 == 0)) & (clim_rec.Date.dt.month >=3)

clim_rec['Day of year'] = clim_rec['Day of year'].apply(lambda x: x-1) # this line is not correct

我的问题是:如何修改我的附加代码的最后一行,以便仅对根据布尔掩码条件为真的特定行应用减法

耶斯列尔

使用DataFrame.loc由Mask选择行,更好/更快的是减法1,而不是apply为避免环路(因为引擎盖使用循环下适用):

clim_rec.loc[leap_year_mask, 'Day of year'] -= 1 

像这样工作:

clim_rec.loc[leap_year_mask, 'Day of year'] = clim_rec.loc[leap_year_mask, 'Day of year']-1

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何根据多种条件更改熊猫数据框列系列中的特定单元格值?

来自分类Dev

如何根据条件替换熊猫数据框列中的单元格

来自分类Dev

如何根据条件替换熊猫数据框列中的单元格

来自分类Dev

根据多个条件格式化熊猫数据框中单元格的颜色

来自分类Dev

熊猫-根据单元格和列中的条件更改单元格值

来自分类Dev

熊猫-根据单元格和列中的条件更改单元格值

来自分类Dev

如何更改熊猫数据框单元格中名称的确切出现

来自分类Dev

如何根据 Pyspark 数据框中的条件修改单元格值

来自分类Dev

熊猫:根据条件更改单元格值

来自分类Dev

熊猫:根据另一列中的条件更改该列的先前单元格值

来自分类常见问题

根据其左侧单元格的值在熊猫数据框中填充NaN值

来自分类Dev

根据熊猫数据框中的两列合并单元格值

来自分类Dev

根据单个单元格中的多个值对熊猫数据框进行排序

来自分类Dev

单元格中的值是列表时的熊猫数据框条件

来自分类Dev

显示熊猫数据框中满足特定条件的所有单元格

来自分类Dev

将熊猫数据框中的每个单元格更改为百分比

来自分类Dev

如何根据匹配特定条件的数据框单元格索引和打印列名

来自分类Dev

根据条件在数据框的单元格中添加值

来自分类Dev

根据一个或多个条件替换数据框列中的单元格

来自分类Dev

根据某些条件将单元格值转换为数据框中的数组

来自分类Dev

根据一个或多个条件替换数据框列中的单元格

来自分类Dev

如何根据之前的单元格有条件地更改Google表格中单元格的颜色?

来自分类Dev

用单元格中的列表替换熊猫数据框

来自分类Dev

如何使用单元格中的字符串重新输入熊猫中的数据框?

来自分类Dev

如何在熊猫数据框中的多行中拆分单元格的值?

来自分类Dev

如何获取熊猫数据框中的单元格值的长度?

来自分类Dev

如何合并熊猫数据框中的单元格以用作标题?

来自分类Dev

如何合并熊猫数据框中的单元格以用作标题?

来自分类Dev

根据Vue中的数据更改表格单元格的背景

Related 相关文章

  1. 1

    如何根据多种条件更改熊猫数据框列系列中的特定单元格值?

  2. 2

    如何根据条件替换熊猫数据框列中的单元格

  3. 3

    如何根据条件替换熊猫数据框列中的单元格

  4. 4

    根据多个条件格式化熊猫数据框中单元格的颜色

  5. 5

    熊猫-根据单元格和列中的条件更改单元格值

  6. 6

    熊猫-根据单元格和列中的条件更改单元格值

  7. 7

    如何更改熊猫数据框单元格中名称的确切出现

  8. 8

    如何根据 Pyspark 数据框中的条件修改单元格值

  9. 9

    熊猫:根据条件更改单元格值

  10. 10

    熊猫:根据另一列中的条件更改该列的先前单元格值

  11. 11

    根据其左侧单元格的值在熊猫数据框中填充NaN值

  12. 12

    根据熊猫数据框中的两列合并单元格值

  13. 13

    根据单个单元格中的多个值对熊猫数据框进行排序

  14. 14

    单元格中的值是列表时的熊猫数据框条件

  15. 15

    显示熊猫数据框中满足特定条件的所有单元格

  16. 16

    将熊猫数据框中的每个单元格更改为百分比

  17. 17

    如何根据匹配特定条件的数据框单元格索引和打印列名

  18. 18

    根据条件在数据框的单元格中添加值

  19. 19

    根据一个或多个条件替换数据框列中的单元格

  20. 20

    根据某些条件将单元格值转换为数据框中的数组

  21. 21

    根据一个或多个条件替换数据框列中的单元格

  22. 22

    如何根据之前的单元格有条件地更改Google表格中单元格的颜色?

  23. 23

    用单元格中的列表替换熊猫数据框

  24. 24

    如何使用单元格中的字符串重新输入熊猫中的数据框?

  25. 25

    如何在熊猫数据框中的多行中拆分单元格的值?

  26. 26

    如何获取熊猫数据框中的单元格值的长度?

  27. 27

    如何合并熊猫数据框中的单元格以用作标题?

  28. 28

    如何合并熊猫数据框中的单元格以用作标题?

  29. 29

    根据Vue中的数据更改表格单元格的背景

热门标签

归档