In [1]:
%pylab inline --no-import-all
Populating the interactive namespace from numpy and matplotlib

Hromadná práce se soubory

In [ ]:
from skimage.io import imread
In [11]:
import glob
import matplotlib.pyplot as plt
# neserazeny seznam
pth = '/home/mjirik/tmp/Falling_frequency_resampled/*.jpg'
pth = "E:\\data\\lynx_lynx\\fotopasti_20170825\\fotky\\bez rysa\\lok3\\2016_04_23\\*.JPG"
filelist = glob.glob(pth)
# print(filelist)

# seradit
filelist.sort()

# vizualizace

plt.figure(figsize=(15,10))

for i in range(6):

    img = plt.imread(filelist[i])
    
    plt.subplot(2,3,i+1)
    plt.axis('off')
    plt.imshow(img)

Interactivity

In [13]:
# Toto je důležité vložit nekomentované na začátek jupyter notebooku pro spuštění externího editoru sed3 i ginput
# % matplotlib qt

plt.imshow(img)
# left mouse button - add point
# right mouse button - remove last point
# middle mouse button - finish
plt.ginput(-1)
C:\Users\miros\Miniconda3\envs\animalwatch\lib\site-packages\matplotlib\figure.py:459: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure
  "matplotlib is currently using a non-GUI backend, "
Out[13]:
[]

Práce s daty ve formě tabulek

Doporučujeme balík pandas

ukázka

tutorialy

vizualizace

Uložení

In [1]:
import pandas as pd

df = pd.DataFrame({
        'time':[1.0, 2.0, 3., 2., 3., 4.],
        'id': [1, 1, 1, 2, 2, 2],
        'x_px': [10, 12, 13, 5, 8, 10],
        'y_px': [11, 10, 12, 5, 7, 6],
    }
)
df.to_csv('vystup.csv')

Načítání

In [31]:
df =pd.read_csv('vystup.csv', index_col=0)
df
Out[31]:
time id x_px y_px
0 1.0 1 10 11
1 2.0 1 12 10
2 3.0 1 13 12
3 2.0 2 5 5
4 3.0 2 8 7
5 4.0 2 10 6

Řazení

In [32]:
df.sort_values(["time", "id"])
Out[32]:
time id x_px y_px
0 1.0 1 10 11
1 2.0 1 12 10
3 2.0 2 5 5
2 3.0 1 13 12
4 3.0 2 8 7
5 4.0 2 10 6

Výběr řádků

In [3]:
import numpy as np
# df['x_px'][1:].ast
# df['x_px'][:-1] 
dfid2 = df[df['id'] == 2]
dfid2
Out[3]:
time id x_px y_px
3 2.0 2 5 5
4 3.0 2 8 7
5 4.0 2 10 6

Výběr sloupců

In [6]:
df2 = df[['x_px', 'y_px']]
df2
Out[6]:
x_px y_px
0 10 11
1 12 10
2 13 12
3 5 5
4 8 7
5 10 6

Statistika nad sloupci

In [7]:
df['x_px'].mean()
Out[7]:
9.666666666666666

New column

In [4]:
df ['soucin'] = df['x_px'] * df['y_px']
df
Out[4]:
time id x_px y_px soucin
0 1.0 1 10 11 110
1 2.0 1 12 10 120
2 3.0 1 13 12 156
3 2.0 2 5 5 25
4 3.0 2 8 7 56
5 4.0 2 10 6 60

Přejmenování sloupců

In [11]:
df3 = df2.rename(columns={"x_px":