06

Работа с файлами, Pandas

Часто бывает необходимо прочитать данные их файла, для этого удобно использовать модуль pandas. Про параметры функции read_csv можно почитать здесь.

In [7]:
import pandas as pd
data_frame = pd.read_csv('filename.csv', sep=';')
data_frame

Когда вы обрабатываете CSV с помощью pandas, вы получаете объект под названием DataFrame, который состоит из строк и столбцов. Обратиет внимание, что в out выводится интерактивная таблица, в которой можно например сортировать данные и при этом исходный DataFrame не измениться. Вы можете получать столбцы таким же образом, каким получаете элементы словаря.

In [3]:
print(data_frame.keys())
print(data_frame['x'])
Index(['x', 'y', 'z'], dtype='object')
0     1
1     4
2     7
3    10
4    13
5    16
6    19
7    22
8    25
Name: x, dtype: int64

Добавить колонку можно как для обычного словаря:

In [4]:
import numpy as np 

data_frame['t'] = np.random.randint(0, 3, size = len(data_frame['x']))
data_frame

Можно сортировать строки:

In [9]:
print(data_frame.sort_values(by=['t']))
    x   y   z  t
2   7   8   9  0
0   1   2   3  1
7  22  23  24  1
1   4   5   6  2
3  10  11  12  2
4  13  14  15  2
5  16  17  18  2
6  19  20  21  2
8  25  26  27  2

Или группировать с нахождением среднего:

In [10]:
print(data_frame.groupby(['t']).mean())
      x     y     z
t                  
0   7.0   8.0   9.0
1  11.5  12.5  13.5
2  14.5  15.5  16.5

Применять функции к столбцам:

In [11]:
data_frame['u'] = data_frame['t'].apply(lambda x: x+5)
print(data_frame)
    x   y   z  t  u
0   1   2   3  1  6
1   4   5   6  2  7
2   7   8   9  0  5
3  10  11  12  2  7
4  13  14  15  2  7
5  16  17  18  2  7
6  19  20  21  2  7
7  22  23  24  1  6
8  25  26  27  2  7

Записывать в файл (подробнее можно почитать здесь):

In [12]:
data_frame.to_csv('filename_result.csv', index=False, sep=';')
^Наверх
Вниз