Работа с результатом pandas.pivot_table

См. System.Diagnostics.Process http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx

Существует также это Ответ на тот же самый точный вопрос: https://stackoverflow.com/a/1469790/25882

Пример:

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C copy /b Image1.jpg + Archive.rar Image2.jpg";
startInfo.Verb = "runas";
process.StartInfo = startInfo;
process.Start();

0
задан TaxpayersMoney 11 March 2019 в 13:32
поделиться

2 ответа

import pandas as pd
df = pd.read_csv('test.csv')
df1 = df.groupby(['year', 'type']).sum()
df1

df может получить таблицу, тогда просто используйте groupby, я думаю, что это проще. что я получаю

           var1 var2
year  type      
2010    a   300 600
        b   300 600
2011    a   300 600
        b   300 600
0
ответ дан Tom.chen.kang 11 March 2019 в 13:32
поделиться

Используйте slicer с:

idx = pd.IndexSlice
df = df.loc[:, idx[:, 2010, 'b']]
print (df)
     var1 var2
year 2010 2010
type    b    b
town          
a     100  200
b     100  200
c     100  200

или DataFrame.xs :

df = df.xs((2010, 'b'), axis=1, level=[1,2])
print (df)
      var1  var2
town            
a      100   200
b      100   200
c      100   200

Решение с фильтрацией по [1111 ] Index.get_level_values и цепочкой логических масок по & для побитового И, но поскольку для столбцов фильтра требуется DataFrame.loc (первый : означает все строки):

m1 = df.columns.get_level_values('year') == 2010
m2 = df.columns.get_level_values('type') == 'b'

df = df.loc[:, m1 & m2]
print (df)
     var1 var2
year 2010 2010
type    b    b
town          
a     100  200
b     100  200
c     100  200
0
ответ дан jezrael 11 March 2019 в 13:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: