1
後我想樞轉數據幀(從模擬記錄)後到子集的以下數據幀:子集上大熊貓數據幀使用pivot_table
import pandas as pd
df = pd.DataFrame(
{'runid' : [26 , 26 , 26 , 26 , 26 , 26 , 27 , 27 , 27 , 27 , 27 , 27 ],
'time' : [0 , 1 , 1 , 3 , 5 , 7 , 0 , 0 , 0 , 2 , 4 , 5 ],
'process': ['p1', 'p2', 'p2', 'p1', 'p1', 'p2', 'p1', 'p1', 'p2', 'p2', 'p2', 'p1'],
'state' : ['a' , 'a' , 'b' , 'b' , 'c' , 'c' , 'a' , 'b' , 'a' , 'b' , 'c' , 'c' ]
})
然後轉動數據幀:
data = pd.pivot_table(df, index=['runid', 'process'], columns=['state'], values=['time'])
輸出:
time
state a b c
runid process
26 p1 0 3 5
p2 1 1 7
27 p1 0 0 5
p2 0 2 4
我該如何這個pivoted DataFrame,以便runid 26和列a和b被選中(這樣我就可以用runid 26從所有進程中減去a,並存儲這些值用於分析)。
謝謝!我該如何添加一個添加列'bminusa'到這個子集的值減去一個? – Rene
@Rene'sub_df.time.b - sub_df.time.a'?您應該查看文檔的[MultiIndex/Advanced Indexing](http://pandas.pydata.org/pandas-docs/stable/advanced.html)部分。 – miradulo