

使用言語: Python  
開発環境: Jupyter Notebook

### 問題の要約

XBRLからcsvファイルに読み込み、抽出した。（結果は、以下のとおり※一部抜粋）  
このcsvファイルをDataframeに変換し、四半期毎の売上高を計算した。  
この後、インデックスをソートしたが上手くいかなかった。

[![!\[画像の説明をここに入力](https://i.stack.imgur.com/vBPYU.png)](https://i.stack.imgur.com/vBPYU.png)

[code]

    import csv
    import glob
    import numpy as np
    import os
    import pandas as pd
    
    analize_dataframe = pd.read_csv('ファイルパス')
    analize_dataframe = analize_dataframe.set_index('value')
    q1_data = analize_dataframe.query('会計期間 == "Q1"')["売上高"]
    q2_data = analize_dataframe.query('会計期間 == "Q2"')["売上高"]
    q3_data = analize_dataframe.query('会計期間 == "Q3"')["売上高"]
    fy_data = analize_dataframe.query('会計期間 == "FY"')["売上高"]
    
    def EditQ2Data():
        if len(q1_data) == len(q2_data) :
            edit_q2_data = q2_data - q1_data.values
    
        elif len(q1_data) > len(q2_data) :
            del_data = list(range(len(q1_data) - len(q2_data) ))
            del_q1_data = q1_data.drop(q1_data.index[del_data])
            edit_q2_data = q2_data - del_q1_data.values
        else:
            print("なんか間違えてない？")
        return edit_q2_data
    
    def EditQ3Data():
        if len(q2_data) == len(q3_data) :
            edit_q3_data = q3_data - q2_data.values
    
        elif len(q2_data) > len(q3_data) :
            del_data = list(range(len(q2_data) - len(q3_data) ))
            del_q2_data = q2_data.drop(q2_data.index[del_data])
            edit_q3_data = q3_data - del_q2_data.values
        else:
            print("なんか間違えてない？")
        return edit_q3_data
    
    def EditFYData():
        if len(fy_data) == len(q3_data) :
            edit_fy_data = fy_data - q3_data.values
    
        elif len(q3_data) > len(fy_data) :
            del_data = len(fy_data) - len(q3_data)
            del_q3_data = q3_data.drop(q3_data.index[del_data])
            edit_fy_data = fy_data - del_q3_data.values
        else:
            print("なんか間違えてない？")
        return edit_fy_data
    
    data = pd.concat([q1_data, EditQ2Data(), EditQ3Data(), EditFYData()])
    
[/code]

### 試したこと

**入力:**

[code]

    data.sort_index(inplace=True)
    
[/code]

**出力:** ※一部抜粋

下記画像のようにYYYY/12/31がYYYY/3/31よりも前にきている。

[![画像の説明をここに入力](https://i.stack.imgur.com/m1aZQ.png)](https://i.stack.imgur.com/m1aZQ.png)

### 目標

下記画像のようにYYYY/3/31～YYYY/12/31となるようにしたい。

[![画像の説明をここに入力](https://i.stack.imgur.com/3NhWx.png)](https://i.stack.imgur.com/3NhWx.png)


CC BY-SA 4.0
2023-01-27T18:09:29.553
93584
2023-01-28T06:46:05.567
2023-01-28T06:05:39.893
3060
56795
question
python sort dataframe
DataFrameのインデックスソート（日付）をかけてもうまくソートできません