第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 .CSV 文件時,如何在 Python Pandas 中按月順序對月份進行排序?

使用 .CSV 文件時,如何在 Python Pandas 中按月順序對月份進行排序?

慕妹3242003 2022-10-05 16:42:48
對于每個名稱/位置,計算每月的平均降雪量。將結果保存在兩個單獨的 .csv 文件中(一個用于 2016,另一個用于 2017)將文件命名為 average2016.csv 和 average2017.csv。我使用 Python 3.8 和 Panadas。我用這段代碼完成了這個:import numpy as npimport pandas as pddf = pd.read_csv('filteredData.csv')df['DATE'] = pd.to_datetime(df['DATE'])df['year'] = pd.DatetimeIndex(df['DATE']).yeardf16 = df[(df.year == 2016)]df17 = df[(df.year == 2017)]df_2016 = df16.groupby(['NAME', 'Month'])['SNOW'].mean().reset_index()df_2017 = df17.groupby(['NAME', 'Month'])['SNOW'].mean().reset_index()df_2016[['NAME', 'Month', 'SNOW']].to_csv('average2016.csv')df_2017[['NAME', 'Month', 'SNOW']].to_csv('average2017.csv')這張圖片顯示了我 2016 年的平均結果。但是,我遇到的問題是月份不是按月順序排列的。我希望他們從 1 月到 12 月去每個地點。示例:我希望名稱:ADA 0.7 SE,MI US Month's 是 May 然后是 June。我怎么能做到這一點?還有沒有辦法擺脫第一個編號的列?
查看完整描述

1 回答

?
拉風的咖菲貓

TA貢獻1995條經(jīng)驗 獲得超2個贊

您可以sort在 DATE 列上。但是你需要記住sort=False在你的 groupby 中做,否則它將使用字符串排序在那里排序。此外,您每年的重復代碼可以替換為單個 groupby,添加year到分組鍵中。然后,您將分別寫入不同的文件,index=False這就是您擺脫索引的方式。


import numpy as np

import pandas as pd


df = pd.read_csv('filteredData.csv')


df['DATE'] = pd.to_datetime(df['DATE'])

df['year'] = df['DATE'].dt.year         # Datetime has this attribute already 


df = df.sort_values(['NAME', 'DATE'])   # Output will be in order within each Name


df = (df[df.year.between(2016,2017)]    # Only 2016 and 2017

        .groupby(['year', 'NAME', 'Month'], sort=False)['SNOW']

        .mean().reset_index())


for year,gp in df.groupby('year'):      # Write files separately by year

    gp[['NAME', 'Month', 'SNOW']].to_csv(f'average{year}.csv', index=False)


查看完整回答
反對 回復 2022-10-05
  • 1 回答
  • 0 關注
  • 233 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號