2017-11-09 7 views
-3

Seriesのデータをマージしたいと思います。しかし結果として、これらのデータは3つに分割された。これらのデータを1つにマージするにはどうすればよいですか? (のpython3のjupyterノート)パンダのデータをどのようにマージできますか?

fp_price = pd.Series(data) 
keep = [] 
for i in fp_price: 
    fp_price_merge = i 
    keep.append(fp_price_merge) 
print(keep) 

結果

[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] 
+0

は、あなたのデータを表示しますか?またはfp_price? – Wen

答えて

0

これは、値のlistを出力します。

l=fp_price.values.tolist() 
import functools 
functools.reduce(lambda x,y: x+y,l) 
+0

通常、 'sum(lst、[])'を使用します。 –

+0

@AndyHayden私たちはこれを行うことができますか?新しいことをたくさん教えてくれてありがとうございます – Wen

+0

これは、Guidoの意見のウサギの穴に私を入れました。彼はfuncがオペレータの場合にのみ使用することを提案しています。 'reduce(operator.mul、lst、1)'です。 https://www.artima.com/weblogs/viewpost.jsp?thread=98196 –

0

「連結」機能を使用することができます。インデックスを処理するための特定の要件がある場合は、多くのバリエーションがあります。

コード:

fp_price = pd.Series(data) 
keep = [] 
for i in fp_price: 
    fp_price_merge = i 
    keep.append(fp_price_merge) 
result=pd.concat(keep) 
print(result) 
+0

ありがとうございます。 私はあなたのやり方を試しました。 ただし、以下のようにエラーが表示されます。 TypeError:非NDFrameオブジェクトを連結できません –

1

sumでリストをフラット化:

sum(fp_price, []) 

In [11]: s = pd.Series([[1, 2], [3]]) 

In [12]: sum(s, []) 
Out[12]: [1, 2, 3] 
関連する問題