[3. 엑셀 대신 파이썬: 재고찾기 프로그램] 사용한 코드와 설명
Computer 관심/Pandas2020. 7. 18. 18:24
반응형
[3. 엑셀 대신 파이썬: 재고찾기 프로그램] 사용한 코드와 설명
#!/usr/bin/env python
# coding: utf-8
# In[1]:
#판다스를 불러온다.
import pandas as pd
# In[2]:
# 데이터의 모든 row를 보이게 한다. 이 설정을 안하면 생략하고 보여줌.
pd.set_option('display.max_rows', None)
# In[3]:
# 불러올 파일을 명시함
file = 'INV_CurrentStock.csv'
# In[4]:
# csv파일을 판다스의 데이타프레임으로 변환하여 반환.
df_csv_data = pd.read_csv(file)
# In[5]:
# df_new_data에 칼럼 Location과 Quantity를 삭제한 데이터프레임을 넣음
df_new_data = df_csv_data.drop(columns=['Location', 'Quantity'])
# In[6]:
# drop_duplicates()를 사용해서 중복되는 열을 삭제 후 Item, Description, Category 칼럼만 남김
df_new_data = df_new_data.drop_duplicates().filter(['Item','Description','Category'])
# In[7]:
# print(df_new_data)
# In[8]:
# 로케이션 칼럼인 Warehouse 인 row의 인덱스를 반환
is_warehouse = df_csv_data['Location']=='Warehouse'
# In[9]:
# 로케이션 칼럼인 Display 인 row의 인덱스를 반환
is_display = df_csv_data['Location']=='Display'
# In[10]:
# df_csv_data[is_warehouse]를 사용하여 칼럼에 웨어하우스 라고 적힌 열들을 얻어내고
# 필요한 정보인 Item 과 Quantity만 보이게 한다.
warehouse_qty = df_csv_data[is_warehouse].filter(['Item','Quantity'])
# In[11]:
# df_csv_data[is_display]를 사용하여 칼럼에 디스플레이 라고 적힌 열들을 얻어내고
# 필요한 정보인 Item 과 Quantity만 보이게 한다.
display_qty = df_csv_data[is_display].filter(['Item','Quantity'])
# In[12]:
# print(warehouse_qty)
# In[13]:
#df_new_data와 arehouse_qty합치기
marged_warehouse= pd.merge(df_new_data, warehouse_qty, how='left', left_on=['Item'], right_on=['Item'])
# In[14]:
#marged_warehouse와 display_qty를 합치고 중복되는 칼럼 이름에 왼쪽 _warehouse 오른쪽 _display를 달아줌
marged_data=pd.merge(marged_warehouse, display_qty, how='left', left_on=['Item'], right_on=['Item'], suffixes=('_warehouse', '_display'))
# In[15]:
# 이렇게 합쳤을때 데이터가 없는quantity_warehouse칼럼과 qauntity_display칼럼에
# NA라고 나오는데 fillan를 통해 0으로 바꿔준다.
na_to_zero_data = marged_data.fillna(dict(Quantity_warehouse=0, Quantity_display=0))
# In[16]:
# 웨어하우스에는 0개 이상, 디스플레이는 0개인 제품을 확인한다.
data = na_to_zero_data.loc[(non_to_zero_data['Quantity_warehouse'] > 0) & (non_to_zero_data['Quantity_display'] == 0)]
print(data)
'Computer 관심 > Pandas' 카테고리의 다른 글
판다스와 플라스크 sqlAlchemy 연결하기 (0) | 2021.10.18 |
---|---|
[2. 엑셀 대신 파이썬: 재고찾기 프로그램] 엑셀 대신 파이썬을 사용할때 이점 (0) | 2020.07.18 |
[1. 엑셀 대신 파이썬: 재고찾기 프로그램] 주피터 설치 및 실행 (0) | 2020.07.18 |
댓글()