pandas
Meta: linee guida per la documentazione
Ricerca…
Osservazioni
Questo meta post è simile alla versione python http://stackoverflow.com/documentation/python/394/meta-documentation-guidelines#t=201607240058406359521 .
Si prega di fare suggerimenti di modifica e commentare quelli (al posto di commenti appropriati), in modo che possiamo incarnare / iterare su questi suggerimenti :)
Visualizzazione di frammenti di codice e output
Due opzioni popolari sono:
notazione ipython:
In [11]: df = pd.DataFrame([[1, 2], [3, 4]])
In [12]: df
Out[12]:
0 1
0 1 2
1 3 4
In alternativa (questo è molto popolare nella documentazione di Python) e in modo più conciso:
df.columns # Out: RangeIndex(start=0, stop=2, step=1)
df[0]
# Out:
# 0 1
# 1 3
# Name: 0, dtype: int64
for col in df:
print(col)
# prints:
# 0
# 1
Generalmente, questo è meglio per gli esempi più piccoli.
Nota: la distinzione tra stampa e output. ipython lo rende chiaro (le stampe si verificano prima che l'output venga restituito):
In [21]: [print(col) for col in df]
0
1
Out[21]: [None, None]
stile
Utilizza la libreria pandas come pd
, questo può essere assunto (l'importazione non deve essere in ogni esempio)
import pandas as pd
- 4 rientranze spaziali
- kwargs non dovrebbe usare spazi
f(a=1)
- Limite di 80 caratteri (l'intera linea che si adatta allo snippet di codice reso dovrebbe essere fortemente preferita)
Supporto per la versione di Pandas
La maggior parte degli esempi funzionerà su più versioni, se si utilizza una funzione "nuova" da menzionare quando è stata introdotta.
Esempio: sort_values
.
stampare dichiarazioni
La maggior parte delle volte la stampa dovrebbe essere evitata in quanto può essere una distrazione (Out dovrebbe essere preferito).
Questo è:
a
# Out: 1
è sempre meglio di
print(a)
# prints: 1
Preferisco supportare python 2 e 3:
print(x) # yes! (works same in python 2 and 3)
print x # no! (python 2 only)
print(x, y) # no! (works differently in python 2 and 3)