[PYTHON] Jour 3 de la création d'un outil de mise en forme du journal des opérations

Jours 1 et 2 de la création d'un outil de formatage du journal des opérations

Troisième jour

RuntimeError: The current Numpy installation (Omission) fails to pass a sanity check due to a bug in the windows runtime. See this issue for more information: https://tinyurl.com/y3dm3h86

Recherchez la cause de. Voir pour plus d'informations ci-dessous. https://developercommunity.visualstudio.com/content/problem/1207405/fmod-after-an-update-to-windows-2004-is-causing-a.html use numpy==1.19.3 works

https://qiita.com/bear_montblanc/items/b4b75dfd77da98076da5 Si vous recherchez sur Google Je ne sais pas grand-chose de ce que je crois, mais je vais juste essayer → L'erreur a disparu. Eh.

Je veux trier CSV

https://note.nkmk.me/python-pandas-sort-values-sort-index/ Retourner à. Selon le tutoriel

firstpandas.py


import pandas as pd
df = pd.read_csv('sample_pandas_normal.csv', index_col=0)
print(df)

Puis cours.

C:\workspaces\playground>firstpandas.py 
         age state  point 
name 
Alice     24    NY     64 
Bob       42    CA     92 
Charlie   18    CA     70 
Dave      68    TX     70 
Ellen     24    CA     88 
Frank     30    NY     57 

Oh, ça l'était. Trions ça. Est-ce que ça va?

firstpandas.py


import pandas as pd 
df = pd.read_csv('sample_pandas_normal.csv', index_col=0) 
df.sort_values('age')
print(df)

En conséquence, cela ne change pas. Ce n'est pas bon de le faire avec un sens. .. Tout d'abord, le document officiel est par ici https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sort_values.html

encore une fois. En écrivant à partir de la conclusion, cela m'a donné une image.

firstpandas.py


import pandas as pd

df = pd.read_csv('sample_pandas_normal.csv')
print(df)

df_s = df.sort_values('age')
print(df_s)
C:\workspaces\playground>firstpandas.py
      name  age state  point
0    Alice   24    NY     64
1      Bob   42    CA     92
2  Charlie   18    CA     70
3     Dave   68    TX     70
4    Ellen   24    CA     88
5    Frank   30    NY     57
      name  age state  point
2  Charlie   18    CA     70
0    Alice   24    NY     64
4    Ellen   24    CA     88
5    Frank   30    NY     57
1      Bob   42    CA     92
3     Dave   68    TX     70

C'est une bonne idée de revoir la grammaire Python

Python3 Cheet Sheet (Basic) Éléments de base de Python Cheet Sheet (@IT) Traduction de la feuille de triche officielle des Pandas

Une fois ici.

Essayez de trier par date

Maintenant, j'ai changé un peu le CSV utilisé et ajouté la colonne de date.

sample_pandas_date.csv


name,age,state,point,birthday
Alice,24,NY,64,1996/1/2
Bob,42,CA,92,1978/2/2
Charlie,18,CA,70,2002/3/4
Dave,68,TX,70,1952/1/1
Ellen,24,CA,88,1996/1/5
Frank,30,NY,57,1990/5/15

firstpandas.py


import pandas as pd

df = pd.read_csv('sample_pandas_date.csv')
print(df)

df_s = df.sort_values('birthday')
print(df_s)

Ce qui se passe avec cela est en dessous du résultat.

C:\workspaces\playground>firstpandas.py
      name  age state  point   birthday
0    Alice   24    NY     64   1996/1/2
1      Bob   42    CA     92   1978/2/2
2  Charlie   18    CA     70   2002/3/4
3     Dave   68    TX     70   1952/1/1
4    Ellen   24    CA     88   1996/1/5
5    Frank   30    NY     57  1990/5/15
      name  age state  point   birthday
3     Dave   68    TX     70   1952/1/1
1      Bob   42    CA     92   1978/2/2
5    Frank   30    NY     57  1990/5/15
0    Alice   24    NY     64   1996/1/2
4    Ellen   24    CA     88   1996/1/5
2  Charlie   18    CA     70   2002/3/4

Ça devient comme ça.

Il est temps d'utiliser le vrai journal des opérations. Lorsque j'ai mis le CSV réel, j'ai eu une erreur. C'est la fin de l'excitation.

C:\workspaces\playground>firstpandas.py
Traceback (most recent call last):
  File "C:\workspaces\playground\firstpandas.py", line 3, in <module>
    df = pd.read_csv('oplog20201112.csv')
  File "C:\Users\works\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers.py", line 688, in read_csv
    return _read(filepath_or_buffer, kwds)
  File "C:\Users\works\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers.py", line 454, in _read
    parser = TextFileReader(fp_or_buf, **kwds)
  File "C:\Users\works\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers.py", line 948, in __init__
    self._make_engine(self.engine)
  File "C:\Users\works\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers.py", line 1180, in _make_engine
    self._engine = CParserWrapper(self.f, **self.options)
  File "C:\Users\works\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers.py", line 2010, in __init__
    self._reader = parsers.TextReader(src, **kwds)
  File "pandas\_libs\parsers.pyx", line 537, in pandas._libs.parsers.TextReader.__cinit__
  File "pandas\_libs\parsers.pyx", line 740, in pandas._libs.parsers.TextReader._get_header
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 0: invalid start byte

Recommended Posts

Jour 4 de la création d'un outil de mise en forme du journal des opérations
Jour 3 de la création d'un outil de mise en forme du journal des opérations