-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathload_data.py
More file actions
73 lines (55 loc) · 1.53 KB
/
load_data.py
File metadata and controls
73 lines (55 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
"""
"""
import pandas as pd
def _pandas_data_frame(path):
"""Load path to pandas data frame
Parameters
----------
path : str
Path to csv file
Returns
-------
data : pd.DataFrame
Pandas data frame. If list of paths are provided
list of pandas data frames are returned.
"""
data = pd.read_csv(path)
scores = data['scores'].str.strip('[ ]')
del data['scores']
data = data.join(scores)
data.scores = data.scores.astype(float)
return data
def _pandas_data_frame_list(paths):
"""Read path to pandas data frame.
paths : list of str
List of csv file paths
Returns
-------
data : pd.DataFrame
List of data frames
"""
data = []
if not isinstance(paths, (tuple, list)):
paths = [paths, ]
for path_ in paths:
data.append(_pandas_data_frame(path_))
return data
def _pandas_data_frame_list_of_paths_concat(paths):
"""Concat list of paths. Order of concat will be same as
given order in paths as a list
Parameters
----------
paths : list of str
List of csv file paths
Returns
-------
data : pd.DataFrame
Concatenated data
"""
if not isinstance(paths, (list, tuple)):
raise ValueError("You are looking for a wrong function."
"This function works only for given paths as"
"list to concat into pandas data frame.")
data = _pandas_data_frame_list(paths)
data = pd.concat(data)
return data