我有一個數據框導入了包含2135行和518列的熊貓。現在我想要取前60行的平均值,並從其他行中減去這些值。到目前爲止,我用這個:從數據框中的其他行中減去60行的平均值
mean = df[1:60].mean()
採取前60行的意思。我試圖減去它只是使用:
df[61:2135] - mean
但這並不行。我嘗試了更多的東西,但我似乎無法弄清楚。也許這是數據框的形狀,因爲mean具有形狀(517,),而df [61:2135]具有形狀(2072,518)。
我有一個數據框導入了包含2135行和518列的熊貓。現在我想要取前60行的平均值,並從其他行中減去這些值。到目前爲止,我用這個:從數據框中的其他行中減去60行的平均值
mean = df[1:60].mean()
採取前60行的意思。我試圖減去它只是使用:
df[61:2135] - mean
但這並不行。我嘗試了更多的東西,但我似乎無法弄清楚。也許這是數據框的形狀,因爲mean具有形狀(517,),而df [61:2135]具有形狀(2072,518)。
你的數據看起來畸形,最後一列有尾隨半冒號...;;;
您需要更換這些並投退浮動:
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
你試過那麼什麼將只是工作
另外你的第二個行看起來並不像一個有效的列行,所以你需要通過header=None
到read_csv
:
df = pd.read_csv ("csvdata.csv", sep=",",skiprows=1, header=None)
當我嘗試我寫的東西時,出現錯誤:ValueError:只能將一個大小爲1的數組轉換爲Python標量 –
後的原始數據和C ö,我可以運行重現您的問題,我的答案表明,這應該工作 – EdChum
這裏是一個鏈接到我使用的文件:http://www.filedropper.com/csvdata –
你的代碼在哪裏? – EdChum