

pandasのDataFrameに関する質問です．  
インデックスに指定した行を代入するような操作は可能なのでしょうか？

e.g.)

[code]

    index   A   B
        1   1.0 2.0
        2   3.0 4.0 
    ⇒２行目を代入する操作
    index   3.0 4.0
        1   1.0 2.0
    
[/code]


CC BY-SA 4.0
2017-10-12T05:16:14.117
38628
2020-05-14T13:31:29.330
2020-05-14T13:31:29.330
754
23647
question
python pandas
pandasの行とインデックスの切替


確かに問題の意味があいまいですがこういうことですか?

[code]

    df=pd.DataFrame([[1.0,2.0],[3.0,4.0]],index=range(1,3),columns=["A","B"])
    df
    
    >      A    B
    > 1  1.0  2.0
    > 2  3.0  4.0
    
    df.loc[1,:]=df.loc[2,:]
    df
    
    >      A    B
    > 1  3.0  4.0
    > 2  3.0  4.0
    
[/code]


CC BY-SA 3.0
2017-10-13T00:07:16.040
38650
2017-10-13T00:07:16.040
25743
38628
answer


指定した行の要素をColumn名にする方法は、こんな感じで記述できると思います。

[code]

    import pandas as pd
    df = pd.DataFrame([[1.0,2.0],[3.0,4.0]], columns=['A','B'])
    
    df.rename(columns=df.iloc[1], inplace=True)
    print(df)
    # =>    3.0  4.0
    #    0  1.0  2.0
    #    1  3.0  4.0
    
[/code]

更に、２列目(index=1)が不要な場合は更に

`df.drop(1, inplace=True)`

して下さい。


CC BY-SA 3.0
2017-10-13T05:44:30.023
38669
2017-10-13T05:44:30.023
24801
38628
answer

[code]

    import pandas as pd
    
    df=pd.DataFrame([[1.0,2.0],[3.0,4.0]],index=range(1,3),columns=["A","B"])
    print(df)
    
    print('---')
    
    df2 = df.T.set_index(2).T
    print(df2)
    
    print(df2.shape)
    
[/code]

上記を実行して、以下をえます。

[code]

         A    B
    1  1.0  2.0
    2  3.0  4.0
    ---
    2  3.0  4.0
    1  1.0  2.0
    (1, 2)
    
[/code]


CC BY-SA 4.0
2019-04-18T07:30:33.917
54278
2019-04-18T07:30:33.917
754
38628
answer