티스토리 뷰

Programming/python

python - pandas (1)

RosyPark 2019. 9. 5. 16:38

1. 기존파일 읽기

1
2
3
file_name = "example"
print(file_name)
read_excel = pd.read_csv(file_name)
cs

 

 

2. 기존파일 셀 읽기

1
2
3
name1 = read_excel.iloc[j, 9]
name2 = read_excel.iloc[j, 8]
name3 = read_excel.iloc[j,10]
cs

 

 

3. 새로운 파일 만들기  

1
2
3
4
5
new_excel=pd.DataFrame(columns=['EventNumber','Station','Magnitude'])
new_excel.loc[j]=[Event_number,Station,Magnitude]
new_file_name="data.csv"
new_excel.to_csv(new_file_name,mode='w')
 
cs

 

 

4. 기존 data frame 한꺼번에 출력하기 

1
2
DataFrame.to_csv('./data.csv', index=False)
 
cs

 

 

 

5. groupby 메서드

- 데이터를 그룹 별로 분류하는 역할

 

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
import pandas as pd
import numpy as np
np.random.seed(0)
df = pd.DataFrame({
    'key1': ['A''A''B''B''A'],
    'key2': ['one''two''one''two''one'],
    'data1': [12345],
    'data2': [1020304050]
})
 
print(df)
"""
  key1 key2  data1  data2
0    A  one      1     10
1    A  two      2     20
2    B  one      3     30
3    B  two      4     40
4    A  one      5     50
"""
 
# key1을 기준
groups = df.groupby(df.key1)
 
#속성
print(groups.groups)
"""
{'A': Int64Index([0, 1, 4], dtype='int64'), 'B': Int64Index([2, 3], dtype='int64')}
"""
 
#data1에서만 그룹연산 하는 코드
print(df.data1.groupby(df.key1).sum())
"""
key1
A    8
B    7
Name: data1, dtype: int64
"""
 
print(df.groupby(df.key1)["data1"].sum())
"""
key1
A    8
B    7
Name: data1, dtype: int64
"""
 
print(df.groupby(df.key2).sum()["data2"] )
"""
key2
one    90
two    60
Name: data2, dtype: int64
"""
 
 
 
 
cs

 

 

6. pandas column 명 없는 데이터 추가하기

1
data_df = pd.read_csv(PATH + data_list[i])
cs

read_csv 에서 column 명이 없는 데이터는 names = [] 로 추가해주면 원하는 column 명을 설정해 줄 수 있음. 

 

1
data_df = pd.read_csv(PATH + data_list[i], names=['time''x','y','z'])
cs

 

 

7. pandas column 있는 데이터를 가지고 전체 값 가지고 오기 (tolist())

- 'x' 열에 있는 데이터를 가져온다는 뜻임 

1
answer = data_df['x'].values.tolist()
cs

 

 

8. pandas 기존의 행 인덱스를 제거하고 데이터 열 중 하나를 인덱스로 설정

- set_index

-  기존의 0,1,2,3,4 index 대신에 column을 선택하여 그 열을 index로 설정 

1
2
3
4
5
6
7
8
9
10
11
12
13
import pandas as pd
import numpy as np
array = np.array([["paris","paris","seoul"],["newyork","paris","seoul"],["seoul","paris","paris"],["seoul","paris","paris"]])
df = pd.DataFrame(array, columns = ['A','B','C']).set_index('A')
print(df)
"""
             B      C
A                    
paris    paris  seoul
newyork  paris  seoul
seoul    paris  paris
seoul    paris  paris
"""
cs

 

9. pandas dropna & fillna 사용하기 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import pandas as pd
import numpy as np
array = np.array([["paris","paris","seoul"],
                  ["newyork",np.nan,"seoul"],
                  [np.nan,"paris","paris"],
                  ["seoul",np.nan,"paris"]])
 
df = pd.DataFrame(array, columns = ['A','B','C'])
 
 
# Nan이 들어간 행은 다 지우기
result = df.dropna(how='all')
print(result)
 
#Nan이 들어간 행대신에 '0'을 넣기
result = df.fillna(0)
print(result)
 
 
cs

 

10. pandas - sort_values 정렬하는법

- 출처 :pandas pydata

1
2
3
4
5
6
7
8
9
10
11
12
13
>>> df = pd.DataFrame({
...     'col1': ['A''A''B', np.nan, 'D''C'],
...     'col2': [219874],
...     'col3': [019423],
... })
>>> df
    col1 col2 col3
0   A    2    0
1   A    1    1
2   B    9    9
3   NaN  8    4
4   D    7    2
5   C    4    3
cs

 

 

 

 

<출처> 

1. 데이터 사이언스 스쿨 

 

 

 

'Programming > python' 카테고리의 다른 글

python - matplot & seaborn  (0) 2019.09.05
python - PIL  (0) 2019.09.05
python - if __name__ == '__main__': 사용이유  (0) 2019.09.05
python library - numpy  (0) 2019.09.05
python 문법 공부 - list  (0) 2019.09.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/11   »
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
글 보관함