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

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

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

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

2926閲覧

pandasデータの結合

MF_19

総合スコア27

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2017/11/09 03:23

編集2017/11/09 04:52

###前提・実現したいこと

Python3(jupyter notebook)
pandasのSeriesで入ってくるデータをnumpyで一つのデータにまとめたいと思ってますが、
下記の出力の通り、3個に分かれた値しか帰って来ません。
(まずはnumpyでなくても一つにまとめることを念頭に置いています)

どのようにすれば、一つのデータにまとめられるでしょうか?
宜しくお願いします。

出力 [487832.87560916983, 488448.86992150272, 490797.3482372716, 490127.78920212726, 490493.25684214354, 490632.19034193602] [481897.10423319356, 482361.70278453565, 482144.11241496605, 481998.03776126896, 482209.0344832759, 482318.84407537803] [483650.51656619791, 483357.08254157269, 483476.66114698362, 483627.19449776667, 483503.16349747358, 483547.58143689478]

###該当のソースコード

python

1#dataに入る値を3回繰り返し 2def step(previous_price, current_price, n_p, n_c, count): 3 count+=1 4 n_p+=1 5 n_c+=1 6 print(" {}回目".format(count)) 7 if count == 4: 8 print("Nothing Finish!") 9 return 10   else: 11#実際はdataに入る計算式の記載がありますが、投稿出来ないため割愛させて頂きます 12  get_data(data) 13 14def get_data(data): 15 fp_price = pd.Series(data) 16 keep = [] 17 for i in fp_price: 18 fp_price_merge = i 19 keep.append(fp_price_merge) 20 print(keep)

###試したこと

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

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

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

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

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

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

WathMorks

2017/11/09 03:58

data の定義を書いてください。
guest

回答1

0

ベストアンサー

こういうことでしょうか?

Python

1import numpy as np 2import pandas as pd 3 4N = 10 5# サイズNのSeries x 3 のリストを作成 6fp_price = [pd.Series(np.random.rand(N)), 7 pd.Series(np.random.rand(N)), 8 pd.Series(np.random.rand(N))] 9 10# 複数のSeriesをまとめてDataFrame型に変換 11df = pd.concat(fp_price, axis=1) 12print(df) 13# 0 1 2 14# 0 0.502987 0.116279 0.393486 15# 1 0.578418 0.584838 0.975105 16# 2 0.738339 0.543626 0.406017 17# 3 0.961753 0.702207 0.743946 18# 4 0.751791 0.263193 0.537807 19# 5 0.984245 0.557256 0.426208 20# 6 0.752000 0.118235 0.020079 21# 7 0.759551 0.611326 0.563489 22# 8 0.237833 0.413460 0.582545 23# 9 0.560427 0.751488 0.439512 24 25 26# DataFrame型をNumpy配列に変換 27ret = df.as_matrix() 28print(ret) 29# [[ 0.50298687 0.11627869 0.39348634] 30# [ 0.57841776 0.58483789 0.97510494] 31# [ 0.73833886 0.54362556 0.40601705] 32# [ 0.96175307 0.70220657 0.74394567] 33# [ 0.75179136 0.26319337 0.53780738] 34# [ 0.98424479 0.55725605 0.42620755] 35# [ 0.75199982 0.11823483 0.02007934] 36# [ 0.75955054 0.61132617 0.56348899] 37# [ 0.23783263 0.41345992 0.58254536] 38# [ 0.56042655 0.75148837 0.43951186]]

投稿2017/11/09 04:17

magichan

総合スコア15898

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

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

MF_19

2017/11/09 04:56

ご回答ありがとうございます。 また、説明不足ですいません。 質問コードを追記しました。 別に定義した関数でdataに入る値を3回繰り返し処理しています。 その影響でget_data関数内で一つのデータにまとめられないのかと思っています。 教えて頂いたコードを実行すると下記のエラーになりました。 TypeError: cannot concatenate a non-NDFrame object
magichan

2017/11/09 05:56 編集

んー せっかく補足を書いていただいたのですが・・ get_data()関数 は何をする為の関数なのでしょうか? 入力データの型がわからないのですが、ワザワザ Series型に変換した後にループ処理でリスト形式に戻している意図がよく分りません。 これであれば keep = pd.Series(data).tolist() の1行で済むような気がします。 とりあえず、step() 関数が3回呼ばれるということでよろしいのでしょうかね?
MF_19

2017/11/09 10:28

ヒントをありがとうございます。どうにか解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問