DataFrame
하나의 열에 대해 서로 다른 행이 동일한 값을 가질 수 있습니다. 일례로서
:DataFrame을 DataFrame으로 분할하기
import pandas as pd
df = pd.DataFrame({
"Name" : ["Alice", "Bob", "John", "Mark", "Emma" , "Mary"] ,
"City" : ["Seattle", "Seattle", "Portland", "Seattle", "Seattle", "Portland"] })
City Name
0 Seattle Alice
1 Seattle Bob
2 Portland John
3 Seattle Mark
4 Seattle Emma
5 Portland Mary
여러 행에 의해 공유되는 "도시"(예컨대 "포틀랜드 ')에 대해 소정의 값.
이 데이터 프레임에서 하나의 열 값을 공통으로 갖는 여러 데이터 프레임을 만들고 싶습니다. 위의 예를 들어, 나는 다음과 같은 데이터 프레임 싶어 :
City Name
0 Seattle Alice
1 Seattle Bob
3 Seattle Mark
4 Seattle Emma
이 answer에서
City Name
2 Portland John
5 Portland Mary
을, 나는 하나 개의 데이터 프레임을 생성하는 데 사용할 수있는 마스크를 만드는 오전 :
def mask_with_in1d(df, column, val):
mask = np.in1d(df[column].values, [val])
return df[mask]
# Return the last data frame above
mask_with_in1d(df, 'City', 'Portland')
문제는 이름이 할당되는 모든 데이터 프레임을 효율적으로 만드는 것입니다.
unique_values = np.sort(df['City'].unique())
for city_value in unique_values:
exec("df_{0} = mask_with_in1d(df, 'City', '{0}')".format(city_value))
내가 더 조작 할 수 df_Seattle
및 df_Portland
프레임 나에게 데이터를 제공합니다 나는 이런 식으로 일을하고 있습니다.
더 좋은 방법이 있나요?
재현 가능한 질문. 고마워. – Kanak