1
我對熊貓很熟悉,我想用幾個簡單的例子來學習邏輯。有關切片和聚合表的基本熊貓問題
讓我們說我有以下的熊貓數據框對象:
import pandas as pd
d = {'year':pd.Series([2014,2014,2014,2014], index=['a','b','c','d']),
'dico':pd.Series(['A','A','A','B'], index=['a','b','c','d']),
'mybool':pd.Series([True,False,True,True], index=['a','b','c','d']),
'values':pd.Series([10.1,1.2,9.5,4.2], index=['a','b','c','d'])}
df = pd.DataFrame(d)
基本問題。 如何將列作爲列表。 即,d['year']
將返回
[2013,2014,2014,2014]
問題0 如何採取行 'A' 和 'B' 和列 '年份' 和 '價值' 作爲一種新的數據幀? 如果我嘗試:
d[['a','b'],['year','values']]
它不起作用。
問題1:
我將如何聚集(總和/平均)年度值列,列迪科,例如。即,不會添加不同年份/ dico組合,但基本上mybool將從列表中刪除。
即,聚集(這種情況下平均值)後,我應該得到:
tipo values year
A 10.1 2013
A (9.5+1.2)/2 2014
B 4.2 2014
如果我嘗試GROUPBY功能似乎輸出,布爾一些奇怪的新的數據幀結構,它和所有可能的年/迪科組合 - 我的目標是讓我有更簡單的新切片和更小的數據框。
問題2。我如何過濾條件?
即,我想過濾出所有爲False的布爾列。 它會返回:
tipo values year mybool
A 10.1 2013 True
A 9.5 2014 True
B 4.2 2014 True
我已經試過熊貓教程,但我仍然得到一些奇怪的行爲,因此要求直接似乎是一個更好的主意。
謝謝!從系列
嗨JAB,但是,如果我做tt = df.groupby(['year','dico'])mean(),然後如果我做tt ['year']似乎不起作用因爲tt不再是具有這些列的數據框......無論如何訪問該信息仍然是? – Dnaiel 2015-02-12 00:36:52
yes-設置'as_index = False' in'groupby' – JAB 2015-02-12 00:43:45
太棒了,非常感謝JAB – Dnaiel 2015-02-12 00:47:41