Pandas est une bibliothèque qui peut traiter diverses données, centrée sur une structure de données tabulaire appelée DataFrame. C'est une table dans la base de données, donc si vous connaissez SQL, vous pouvez commencer immédiatement. Familier avec ceux qui analysent les données avec Python.
Il y a beaucoup d'informations par ouï-dire, mais je pense qu'elles ont été présentées à l'équipe de développement de cette manière.
«L'hybridation du sur site et du cloud progresse, et le stockage des bases de données est de plus en plus distribué.
Étant donné que la valeur manquante NaN est traitée comme un flottant, au moment où la valeur manquante est mélangée dans la colonne int, la colonne entière est convertie en flottant. Si les informations de type sont corrompues, cela a tendance à être un problème, en particulier lorsqu'elles sont soumises à la base de données.
>>> s = pd.Series([0, 1, 2])
>>> s[2]
2
>>> s[1] = np.nan
>>> s[2]
2.0
http://pandas.pydata.org/pandas-docs/stable/missing_data.html
Avec juste une petite opération d'index, vous pouvez être forcé dans une situation incertaine que ce soit une vue ou une copie (!?)
def do_something(df):
foo = df[['bar', 'baz']] # Is foo a view? A copy? Nobody knows!
# ... many lines here ...
foo['quux'] = value # We don't know whether this will modify df or not!
return foo
http://pandas.pydata.org/pandas-docs/stable/indexing.html#why-does-assignment-fail-when-using-chained-indexing
Dans ce cas, quel que soit le nombre de tests effectués, la qualité n'est pas garantie. Un avertissement peut être émis au moment de l'exécution, mais la seule partie suspecte est d'appeler explicitement la méthode de copie ...
En regardant le journal d'un certain lot, il y a 1% de chances de mourir. Il existe de nombreux éléments liés à la mémoire et les vidages de mémoire se multiplient. Il gèle également.
*** glibc detected *** /usr/local/anaconda/bin/python: free(): invalid pointer:
Fatal Python error: GC object already tracked
Personnes Personnes Personnes > Mort subite <  ̄Y^Y^Y^Y ̄
Puisqu'il s'agit d'un environnement Python 2.7 et Pandas 0.17, il peut être résolu en mettant à jour ....
Dans les nouveaux développements futurs, la politique consiste à ne pas utiliser autant que possible Pandas avec Luigi. Après tout, Pandas était destiné à l'analyse, et il n'était pas bon de l'utiliser par lots en premier lieu ....
Cependant, même à des fins d'analyse, je pense personnellement que le problème de référence est fatal, je vais donc utiliser Spark si je veux un DataFrame à l'avenir. Bien qu'il puisse être écrit dans Scala de type statique, notez que la vérification de compilation ne fonctionne pas pour les opérations de schéma essentielles. Bibliothèque utilisant des chats sans cadreもありますが、あくまでproof-of-conceptです。
À propos, Luigi a l'égalité pour chaque tâche et suppose une donnée de sortie, donc cela peut ne pas convenir en fonction du flux de données à assembler. Et le développeur de Luigi, Spotify, semble migrer vers Google Cloud Dataflow et développer la bibliothèque de wrapper scio de Scala ...
Scio - A Scala API for Google Cloud Dataflow & Apache Beam
Recommended Posts