[英]How to subtract two partial columns with pandas?
我剛開始使用Pandas,所以我可能缺少一些重要的東西,但是我似乎無法成功減去我正在使用的兩列。 我在Excel中導入了一個電子表格,如下所示:
df = pd.read_excel('/path/to/file.xlsx',sheetname='Sheet1')
執行df.head()
時,我的表類似於以下內容:
a b c d
0 stuff stuff stuff stuff
1 stuff stuff stuff stuff
2 data data data data
... ... ... ... ...
89 data data data data
我不在乎“東西”; 我只想減去兩列數據,並將其設為自己的列。 因此,似乎很明顯,我應該修剪掉我不感興趣的行並使用剩余的行,因此我嘗試了以下操作:
dataCol1 = df.ix[2:,0:1]
dataCol2 = df.ix[2:,1:2]
print(dataCol1.sub(dataCol2,axis=0))
但這導致
a b
2 NaN NaN
3 NaN NaN
4 NaN NaN
... ... ...
89 NaN NaN
如果我也簡單地嘗試print(dataCol1-dataCol2)
我將得到相同的結果。 我真的不明白這兩個減法運算不僅會導致所有的NaN,而且會導致兩列,而不是最后的結果。 因為例如當我print(dataCol1)
,我確實獲得了要使用的列:
a
2 data
3 data
4 data
... ...
89 data
是否有任何方法既可以直接從Excel電子表格簡單直接地工作,又可以對所述電子表格的列的截斷部分執行基本操作? 也許有比使用df.ix
更好的方法了,我當然也對那些方法df.ix
開放df.ix
。
問題是您的索引錯誤。
要做的一件事是減去值,因此您不必處理對齊問題:
dataCol1 = df.iloc[2: , 0:1] # ix is deprecated
dataCol2 = df.iloc[2: , 1:2]
result = pd.DataFrame(dataCol1.values - dataCol2.values)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.