In [1]:
    
df = pd.DataFrame(columns=["시", "동"])
df
    
    Out[1]:
In [5]:
    
df.loc[0] = ["서울", "신사동"]
df.loc[1] = ["서울", "대치동"]
df.loc[2] = ["서울", "봉천동"]
df.loc[3] = ["부산", "부산 1동"]
df.loc[4] = ["부산", "부산 2동"]
df.loc[5] = ["경북", "효자동"]
df.loc[6] = ["경북", "지곡동"]
    
In [6]:
    
df
    
    Out[6]:
In [10]:
    
df["시"]   #이거는 Series
    
    Out[10]:
In [11]:
    
list(df["시"])
    
    Out[11]:
In [12]:
    
set(list(df["시"]))
    
    Out[12]:
In [13]:
    
list(set(list(df["시"])))
    
    Out[13]:
In [15]:
    
#위의 과정을 압축하면
df["시"].unique()
    
    Out[15]:
In [24]:
    
city_name = "서울"
is_city = df["시"] == city_name  # 특정 True/False의 Series를 만들고
df[is_city]                      # 해당하는 row만 뽑는다.
    
    Out[24]:
In [33]:
    
city_df_dict = {}
for city_name in df["시"].unique():
    is_city = df["시"] == city_name
    city_df = df[is_city]
    
    city_df_dict[city_name] = city_df
    
In [36]:
    
city_df_dict["부산"]   #Python의 자료형을 이용한 방법
    
    Out[36]:
In [38]:
    
df.groupby("시")
    
    Out[38]:
In [39]:
    
city_groups = df.groupby("시")
    
In [42]:
    
city_groups.get_group("경북")
    
    Out[42]: