from __future__ import division, print_function # Python 3 from sympy import init_printing init_printing(use_latex='mathjax',use_unicode=False) # Affichage des résultats from sympy import isprime L = [isprime(i) for i in range(15)] L from pandas import Series s = Series(L) s s[0] s[7] s.describe() s.cumsum() t = s.cumsum() t * 1000 + 43 def carre_plus_trois(x): t.apply(carre_plus_trois) from pandas import concat concat([s, s.cumsum()]) concat([s, s.cumsum()], axis=1) keys = ['isprime', 'pi_x'] df = concat([s, s.cumsum()], axis=1, keys=keys) df type(df) from pandas import DataFrame L = [isprime(i) for i in range(15)] L_cumsum = [sum(L[:i]) for i in range(1,len(L)+1)] L_cumsum d = {'isprime':L, 'pi_x':L_cumsum} d df = DataFrame(d) df df.describe() from pandas import Panel,Panel4D df.pi_x df['pi_x'] df.pi_x * 100 L = [isprime(i) for i in range(1000)] s = Series(L) d = {'isprime':s, 'pi_x':s.cumsum()} df = DataFrame(d) df.head() df.tail() df.tail(10) df[500:520] df.at[510, 'x_logx'] df.at[510, 'pi_x'] from math import log def x_sur_log_x(x): t = Series(range(1000)).apply(x_sur_log_x) df.insert(2, 'x_logx', t) df['x_logx'] = t # equivalent, notation comme les dictionnaires Python from sympy import Li K = [Li(x).n() for x in range(1000)] df['Li_x'] = Series(K, dtype='float64') df.head() df.tail() %matplotlib inline df.plot() df[:100].plot() df.plot.area df.plot.box df.plot.hist df.plot.pie df.plot.bar df.plot.density df.plot.kde df.plot.scatter df.plot.barh df.plot.hexbin df.plot.line df.to_[TOUCHE_TABULATION] from pandas import ExcelWriter writer = ExcelWriter('tableau.xlsx') df.to_excel(writer,'Feuille 1') writer.save() df.to_csv('tableau.csv') import pandas as pd df = pd.read_excel('tableau.xlsx') df.head() df = pandas.read_csv('tableau.csv') df.head() df = pandas.read_csv('tableau.csv', header=56) df.head() df = pandas.read_excel('meteoostende.xls') url = ("http://opendata.digitalwallonia.be/dataset/" df = pandas.read_excel(url) len(df) df.columns df.head() df.iloc[100] df.mean() s = df.icol(7) s.head() s.describe() date = df.columns[1] pression = df.columns[7] df.plot(x=date, y=pression) df.plot.hist(x=date, y=pression) In [32]: s = Series(range(10)) In [31]: s Out[31]: 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 dtype: int64 In [29]: s % 3 == 0 Out[29]: 0 True 1 False 2 False 3 True 4 False 5 False 6 True 7 False 8 False 9 True dtype: bool In [30]: s[s % 3 == 0] Out[30]: 0 0 3 3 6 6 9 9 dtype: int64 est_noel = lambda date:date.day==25 and date.month==12 s_vrai_faux = df['Date'].apply(est_noel) s_vrai_faux.tail(10) df_noel = df[s_vrai_faux] df_noel.icol([1,2])