2017-03-07 13 views
1

私は、2135行と518列からなるpandasでインポートされたDataFrameを持っています。今度は、最初の60行の平均をとり、これらの値を他の行から引きます。今まで私はこれを使用しました:データフレームの他の行から60行の平均値を引いて

mean = df[1:60].mean() 

最初の60行の平均をとってください。

df[61:2135] - mean 

ただし、これは機能しません。私はいくつかのことを試しましたが、私はそれを理解していないようです。 df [61:2135]は形(2072,518)を持っているのに対して、平均は形(517)を持っているので、データフレームの形になっているのかもしれません。

+0

ポスト生データとC:あなたはheader=Noneread_csvへを渡す必要があるので、有効な列の行のようには見えません。あなたの問題を再現するために実行することができる私の答えは、これがうまくいったことを示しています – EdChum

+0

ここに私が使用するファイルへのリンクです:http://www.filedropper.com/csvdata –

+0

あなたのコードはどこですか? – EdChum

答えて

0

あなたのデータが不正に見えますが、最後の列は、これらを交換し、float型にキャストバックする必要が...;;;セミコロンを末尾ました:

In [44]: 
df[517] = df[517].str.replace(';;;','').astype(float) 
df.info() 

<class 'pandas.core.frame.DataFrame'> 
RangeIndex: 2134 entries, 0 to 2133 
Columns: 518 entries, 0 to 517 
dtypes: float64(518) 
memory usage: 8.4 MB 

その後、何をしようとしたことがちょうどさらに2番目の行を

に動作します

df = pd.read_csv ("csvdata.csv", sep=",",skiprows=1, header=None) 
+1

私が書いたことを試してみると、エラーが出ます:ValueError:サイズ1の配列をPythonスカラー –

関連する問題