質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

解決済

2回答

858閲覧

dataの項目入れ替えについて

kouji_39

総合スコア164

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2020/05/13 06:20

編集2020/05/13 06:24
import pandas as pd labels = ['C0','C1','C2','C3','C4','C5'] X= [[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18], [19, 20 ,21, 22, 23, 24], [25, 26, 27, 28, 29, 30]] y= [10, 20, 30, 40, 50] df = pd.DataFrame(data=X, columns=labels) print(df) df=df.assign(y=y) print(df)

上記コードで、最終的にdfは、以下のようになります。
C0 C1 C2 C3 C4 C5 y
0 1 2 3 4 5 6 10
1 7 8 9 10 11 12 20
2 13 14 15 16 17 18 30
3 19 20 21 22 23 24 40
4 25 26 27 28 29 30 50

上記を、labels_sort = ['y','C0','C1','C2','C3','C4','C5']
の順にしたいのですが、方法がみつかりません。
よろしくお願いいたします。

追伸)magichanさん、assignのご助言、ありがとうございました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

この件は前の(消えた)質問の回答に書いたと思います

一応、前回の回答の後半を再度書きますと

列の並べ替えはDataFrame.resample()をお使いください
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.resample.html

Python

1df.resample(['y','C0','C1','C2','C3','C4','C5'], axis=1)

ということで最終的には assign() に結合させていかのように1行で書けます。

Python

1import pandas as pd 2labels = ['C0','C1','C2','C3','C4','C5'] 3X= [[1, 2, 3, 4, 5, 6], 4 [7, 8, 9, 10, 11, 12], 5 [13, 14, 15, 16, 17, 18], 6 [19, 20 ,21, 22, 23, 24], 7 [25, 26, 27, 28, 29, 30]] 8df = pd.DataFrame(data=X, columns=labels) 9y = [10, 20, 30, 40, 50] 10df = df.assign(y=y).reindex(['y'] + labels, axis=1) 11print(df) 12# y C0 C1 C2 C3 C4 C5 13#0 10 1 2 3 4 5 6 14#1 20 7 8 9 10 11 12 15#2 30 13 14 15 16 17 18 16#3 40 19 20 21 22 23 24 17#4 50 25 26 27 28 29 30

投稿2020/05/13 06:38

magichan

総合スコア15898

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kouji_39

2020/05/13 06:43

解決しました、ありがとうございました。 いろんな方法があるんですね。
guest

0

ベストアンサー

Python

1labels_sort = ['y','C0','C1','C2','C3','C4','C5'] 2df = df[labels_sort] 3print(df) 4# y C0 C1 C2 C3 C4 C5 5#0 10 1 2 3 4 5 6 6#1 20 7 8 9 10 11 12 7#2 30 13 14 15 16 17 18 8#3 40 19 20 21 22 23 24 9#4 50 25 26 27 28 29 30

投稿2020/05/13 06:30

meg_

総合スコア10602

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kouji_39

2020/05/13 06:41

解決しました、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問