我使用impyla
從Impala提取數據,並使用as_pandas
將它們轉換爲數據框。我正在使用Pandas 0.18.0
,Python 2.7.9
不計算大熊貓數據框中所有列的總和
我想計算一個數據框中所有列的總和,並試圖選擇大於閾值的列。
self.data = self.data.loc[:,self.data.sum(axis=0) > 15]
但是當我運行此我得到錯誤象下面這樣:
pandas.core.indexing.IndexingError: Unalignable boolean Series key provided
然後我試圖像下面。
print 'length : ',len(self.data.sum(axis = 0)),' all columns : ',len(self.data.columns)
然後我得到不同的長度即
length : 78 all columns : 83
而且我得到以下警告
C:\Python27\lib\decimal.py:1150: RuntimeWarning: tp_compare didn't return -1 or -2 for exception
,實現我的目標我試過其他方式
for column in self.data.columns:
sum = self.data[column].sum()
if(sum < 15):
self.data = self.data.drop(column,1)
現在我已經得到了像下面的其他錯誤:
TypeError: unsupported operand type(s) for +: 'Decimal' and 'float' C:\Python27\lib\decimal.py:1150: RuntimeWarning: tp_compare didn't return -1 or -2 for exception
然後我試圖讓每列的數據類型,如下面。
print 'dtypes : ', self.data.dtypes
結果具有所有列均這些的int64,對象的一個和浮64 然後,我想改變其在對象像下面
self.data.convert_objects(convert_numeric=True)
仍然列的數據類型的我得到了同樣的錯誤,請幫助我解決這個問題。
注:在所有我沒有字符串,即字符和缺失值或empty.I已經檢查了這列使用self.data.to_csv
由於我是新來的熊貓和蟒蛇請不要介意這是一個愚蠢的問題。我只是想學習
在所有的列中,我只有數字既沒有字符串也沒有南。在這個問題上加了這個點 –
@ManojKumar'pd.to_csv()'不保證你的數據框的值類型。它是後面的。 'self.data後檢查了dtypes。convert_objects(convert_numeric = True)'再次?現在沒有更多的「對象」類型?如果沒有,也許你沒有像'self.data = self.data.convert_objects(convert_numeric = True)'那樣放置。請檢查。 – su79eu7k
它正在工作我失蹤的任務謝謝@ su79eu7k –