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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

7752閲覧

配列の中のスペースをカンマに置換する

kkanak

総合スコア9

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/07/24 14:48

編集2018/07/26 07:25

前提・実現したいこと

配列の中で半角スペースをカンマに置換したいです。

発生している問題・エラーメッセージ

python3でランダムフォレストを行い、forest.predictで出力した後、['あ' 'あ' 'あ' 'あ']という配列が出来ました。

これを、['あ', 'あ', 'あ', 'あ']と、カンマで区切りたいです。

対処法をご教授頂けますと幸いです。宜しくお願い致します。

コードとやったことを記載するということで、失礼致しました。

あまり細かくは書けないのですが、ざっと概要を記載すると

「csv形式のデータをデータフレームに変換後、ランダムフォレストをかけて出てきた『予測値(文字列)』を、リスト化したい」

「その予測文字列リストをデータフレームに結合させて、精度をみたい」

ということがやりたいことになります。その前提で

forest = RandomForestClassifier(min_samples_leaf=3, random_state=0)
forest.fit(X_train, y_train)
y_test_pred = forest.predict(X_train)
print(y_test_pred)

と書いたときに、出力されるy_test_predは['あ' 'あ' 'あ' 'あ']という形式だったため、データフレームに変換する事ができず、質問させて頂いた次第です。

そもそもカンマ区切りになっていないことに気づくのが遅れたのですが、カンマを変換しようとして試したこととしては、

y_test_pred_list = y_test_pred.replace(" ",",") col1 = [y_test_pred_list] preddf = pd.DataFrame({'pred_pkind':col1}) print(preddf)

この辺りです。replaceやsplitは使えないようで、どうも解決策がわからず、質問させていただきました。

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

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

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

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

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

crimnut

2018/07/24 16:23

コードを掲載していただけると回答しやすいです。
kkanak

2018/07/25 07:10

承知しました。後ほど記載いたします。
guest

回答2

0

ありがとうございます!試してみます

投稿2018/07/25 01:44

kanakei1031

総合スコア15

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

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

fuzzball

2018/07/25 02:08 編集

第7条(禁止事項) (11)複数のユーザーIDを1人で保有する行為
kkanak

2018/07/25 07:09

大変失礼しました。以後、注意いたします。
kkanak

2018/07/26 07:34

先程変換することが出来ました。tolistで簡単に変換できるのですね。丁寧にお教えいただきまして、ありがとうございました。
guest

0

ベストアンサー

['あ' 'あ' 'あ' 'あ']はnumpy配列をprintなどした場合の表示で、['あ', 'あ', 'あ', 'あ']はlist型の表示ですね。

tolist()メソッドでリストに変換できます。

python

1pred = clf.predict(X, y).tolist()

投稿2018/07/24 21:28

編集2018/07/24 21:29
hayataka2049

総合スコア30933

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問