[python] 팬더 시리즈와 단일 열 DataFrame의 차이점은 무엇입니까?
팬더가 왜 Series
단일 열과 단일 열을 구별 DataFrame
합니까?
다시 말해, Series
수업 이 존재하는 이유는 무엇 입니까?
나는 주로 날짜 시간 인덱스와 함께 시계열을 사용하고 있습니다. 어쩌면 컨텍스트를 설정하는 데 도움이 될 수 있습니다.
답변
팬더 문서 인용
pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)
레이블이 지정된 축 (행 및 열)을 가진 2 차원 크기 변경 가능, 이종 가능성이있는 테이블 형식 데이터 구조. 산술 연산은 행 및 열 레이블 모두에 정렬됩니다. Series 객체의 dict-like 컨테이너로 생각할 수 있습니다. 기본 팬더 데이터 구조.
따라서 Series는DataFrame
개념적으로뿐만 아니라 문자 그대로 의 단일 열에 대한 데이터 구조입니다. 즉,의 데이터 DataFrame
는 실제로의 컬렉션으로 메모리에 저장됩니다 Series
.
유사하게 : 행렬은 목록으로 만들어지기 때문에 목록과 행렬이 모두 필요합니다. 단일 행 수학은 기능의 목록과 동일하지만 구성된 목록 없이는 존재할 수 없습니다.
둘 다 API가 매우 비슷하지만 DataFrame
메소드가 항상 두 개 이상의 열을 가질 가능성을 충족시키는 것을 알 수 있습니다. 그리고, 물론, 당신은 항상 다른 추가 할 수 있습니다 Series
A와 (또는 동등한 개체) DataFrame
추가하는 동안, Series
다른이 Series
를 만드는 작업이 포함됩니다 DataFrame
.
답변
팬더 문서에서 http://pandas.pydata.org/pandas-docs/stable/dsintro.html
Series는 모든 데이터 유형을 보유 할 수있는 1 차원 레이블이 지정된 배열입니다. 팬더 시리즈의 형태로 데이터를 읽으려면 :
import pandas as pd
ds = pd.Series(data, index=index)
DataFrame은 잠재적으로 다른 유형의 열이있는 2 차원 레이블이 지정된 데이터 구조입니다.
import pandas as pd
df = pd.DataFrame(data, index=index)
위의 두 색인 모두 목록입니다
예를 들어 : 다음 데이터가 포함 된 csv 파일이 있습니다.
,country,popuplation,area,capital
BR,Brazil,10210,12015,Brasile
RU,Russia,1025,457,Moscow
IN,India,10458,457787,New Delhi
위의 데이터를 시리즈 및 데이터 프레임으로 읽으려면 :
import pandas as pd
file_data = pd.read_csv("file_path", index_col=0)
d = pd.Series(file_data.country, index=['BR','RU','IN'] or index = file_data.index)
산출:
>>> d
BR Brazil
RU Russia
IN India
df = pd.DataFrame(file_data.area, index=['BR','RU','IN'] or index = file_data.index )
산출:
>>> df
area
BR 12015
RU 457
IN 457787
답변
Series는 정수, 부동 및 문자열과 같은 모든 데이터 유형을 보유 할 수있는 1 차원 객체입니다.
import pandas as pd
x = pd.Series([A,B,C])
0 A
1 B
2 C
Series의 첫 번째 열은 인덱스 즉 0,1,2로 알려져 있습니다. 두 번째 열은 실제 데이터입니다. 즉 A, B, C
DataFrames는 시리즈, 목록, 사전을 담을 수있는 2 차원 객체입니다.
df=pd.DataFrame(rd(5,4),['A','B','C','D','E'],['W','X','Y','Z'])
답변
Series는 모든 데이터 유형 (정수, 문자열, 부동 소수점 숫자, Python 객체 등)을 보유 할 수있는 1 차원 레이블이 지정된 배열입니다. 축 레이블을 총칭하여 인덱스라고합니다. 시리즈를 작성하는 기본 방법은 다음을 호출하는 것입니다.
s = pd.Series(data, index=index)
DataFrame은 잠재적으로 다른 유형의 열이있는 2 차원 레이블이 지정된 데이터 구조입니다. 스프레드 시트 나 SQL 테이블 또는 Series 객체의 dict처럼 생각할 수 있습니다.
d = {'one' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
two' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
답변
자동차 데이터 가져 오기
import pandas as pd
cars = pd.read_csv('cars.csv', index_col = 0)
drives_right 컬럼을 Series로 인쇄하십시오.
print(cars.loc[:,"drives_right"])
US True
AUS False
JAP False
IN False
RU True
MOR True
EG True
Name: drives_right, dtype: bool
단일 브래킷 버전은 Pandas Series를 제공하고 이중 브래킷 버전은 Pandas DataFrame을 제공합니다.
drives_right 열을 DataFrame으로 인쇄
print(cars.loc[:,["drives_right"]])
drives_right
US True
AUS False
JAP False
IN False
RU True
MOR True
EG True
다른 Series에 Series를 추가하면 DataFrame이 생성됩니다.