DataScience/Pandas
Pandas .iloc[ , ], 데이터 프레임에서 컬럼 만드는 방법
leopard4
2022. 11. 24. 10:11
Accessing Elements in Pandas DataFrames¶
In [1]:
import pandas as pd
In [2]:
# We create a list of Python dictionaries
items2 = [{'bikes': 20, 'pants': 30, 'watches': 35},
{'watches': 10, 'glasses': 50, 'bikes': 15, 'pants':5}]
In [8]:
df = pd.DataFrame(data=items2, index= ["store 1","store 2"])
In [9]:
df
Out[9]:
bikes | pants | watches | glasses | |
---|---|---|---|---|
store 1 | 20 | 30 | 35 | NaN |
store 2 | 15 | 5 | 10 | 50.0 |
In [ ]:
#### 지난글에 이은.
#### 3.행과 열로 데이터를 가져오는 방법
#### .iloc[ , ]
#### 이 방법은, 컴퓨터가 매기는 인덱스(오프셋)으로 데이터를 액세스 한다.
In [10]:
df.loc[ 'store 1', 'pants']
Out[10]:
30
In [12]:
df.iloc [ 0, 1] # 인덱스 액세스
Out[12]:
30
In [15]:
df['pants']
Out[15]:
store 1 30 store 2 5 Name: pants, dtype: int64
In [16]:
df['pants']['store 1']
Out[16]:
30
In [19]:
# 스토어 2 데이터에서, bikes 부터 watches 까지의 데이터를 가져오시오
In [20]:
df
Out[20]:
bikes | pants | watches | glasses | |
---|---|---|---|---|
store 1 | 20 | 30 | 35 | NaN |
store 2 | 15 | 5 | 10 | 50.0 |
In [27]:
df.iloc[1, 0 : 2+1]
Out[27]:
bikes 15.0 pants 5.0 watches 10.0 Name: store 2, dtype: float64
In [29]:
df.loc["store 2" , "bikes" : "watches"]
Out[29]:
bikes 15.0 pants 5.0 watches 10.0 Name: store 2, dtype: float64
In [30]:
df.loc["store 2" ]["bikes" : "watches"]
Out[30]:
bikes 15.0 pants 5.0 watches 10.0 Name: store 2, dtype: float64
In [31]:
df
Out[31]:
bikes | pants | watches | glasses | |
---|---|---|---|---|
store 1 | 20 | 30 | 35 | NaN |
store 2 | 15 | 5 | 10 | 50.0 |
In [ ]:
# 스토어 1 의 bikes, watches, glasses 데이터를 가져오시오
In [36]:
df.iloc[0 , [0,2,3] ]
Out[36]:
bikes 20.0 watches 35.0 glasses NaN Name: store 1, dtype: float64
In [35]:
df.loc["store 1", ["bikes","watches","glasses"]]
Out[35]:
bikes 20.0 watches 35.0 glasses NaN Name: store 1, dtype: float64
In [ ]:
In [ ]:
# 데이터의 값을 변경!!!
In [ ]:
# 스토어2의 watches 데이터를 20으로 변경해주세요
In [43]:
df
Out[43]:
bikes | pants | watches | glasses | |
---|---|---|---|---|
store 1 | 20 | 30 | 35 | NaN |
store 2 | 15 | 5 | 10 | 50.0 |
In [44]:
df.loc["store 2", "watches"]
Out[44]:
10
In [45]:
df.loc["store 2", "watches"] = 20
In [46]:
df
Out[46]:
bikes | pants | watches | glasses | |
---|---|---|---|---|
store 1 | 20 | 30 | 35 | NaN |
store 2 | 15 | 5 | 20 | 50.0 |
In [48]:
df.iloc[ 1, 2 ]
Out[48]:
20
In [ ]:
# 새로운 품목이 들어왔습니다.
# shirts 라는컬럼을 만들고, store 1에는 15개, store 2에는 2개가 생겼습니다.
In [ ]:
# 새로운 컬럼 만드는 방법
In [54]:
df['shirts'] = [15,2]
In [55]:
df
Out[55]:
bikes | pants | watches | glasses | shirts | |
---|---|---|---|---|---|
store 1 | 20 | 30 | 35 | NaN | 15 |
store 2 | 15 | 5 | 20 | 50.0 | 2 |
In [ ]:
# suits 라는 컬럼을 만들되,
# pants 컬럼의 값과, shirts 컬럼의 값을 더해서 만드세요
In [58]:
df["suits"] = df["pants"]+df["shirts"]
In [59]:
df
Out[59]:
bikes | pants | watches | glasses | shirts | suits | |
---|---|---|---|---|---|---|
store 1 | 20 | 30 | 35 | NaN | 15 | 45 |
store 2 | 15 | 5 | 20 | 50.0 | 2 | 7 |