2017-08-24 13 views
0

何かの理由で、このリストからデータフレームを作成しようとすると(system_mean)、データフレームの形状は(1,288)ですが、私は、データフレーム形状が(3,1)である3つのエントリを有するダミーリストからデータフレームを作成する。私はsystem_meanデータフレームを(288,15)である別のデータフレームに追加しようとしているので、同じ形状でなければなりません。リストから1列とn行のリストからDateFrameを作成する

import pd 
L = ['Thanks You', 'Its fine no problem', 'Are you sure'] 
df3 = pd.DataFrame(L) 

system_mean = [Final_Price.mean(axis=1)] 
df2 = pd.DataFrame(system_mean) 

注: Final_Priceは形状が(288,15)であるデータフレームで、各行の平均をとっています。したがって、Final_Price.mean(axis = 1)は288のエントリを持つリストを返します。

なぜ同じコマンドが1つのリストの列でリストを返し、別のリストの行に戻しますか?

+0

私が考えることができる唯一のことは、ターミナルで印刷されるときにリストLが水平であり、タイムスタンプのインデックスを持つためにsystem_meanが垂直に印刷されるということです。これが問題なら、どのように修正できますか? –

+0

'system_meanデータフレームを別のデータフレームに追加する 'とはどういう意味ですか?セル内のすべてのデータを追加するか連結しますか?各セルを追加するには、形状が完全に同じである必要があります。 –

+0

私は(288,1)データフレームを(288,15)データフレームの最後に連結していました。それを持ってくれてありがとう –

答えて

1

Final_Price.mean(axis=1)はパンダシリーズではありません。 [Final_Price.mean(axis=1)]を実行することで、それをリストの中に入れているので、DataFrameが水平になってしまいます。

は次の比較:

L = pd.Series(['Thanks You', 'Its fine no problem', 'Are you sure']) 

pd.DataFrame(L) 
Out: 
        0 
0   Thanks You 
1 Its fine no problem 
2   Are you sure 

pd.DataFrame([L]) 
Out: 
      0     1    2 
0 Thanks You Its fine no problem Are you sure 

ですから、ブラケットを除去することによって、それを解決することができたり、またFinal_Price.mean(axis=1).to_frame('name_of_the_columnを使用することができます)。

+0

感謝、それはおそらくそのような何か愚かだと思った –

関連する問題