[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메소드가 항상 두 개 이상의 열을 가질 가능성을 충족시키는 것을 알 수 있습니다. 그리고, 물론, 당신은 항상 다른 추가 할 수 있습니다 SeriesA와 (또는 동등한 개체) 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)

다음은 cars.csv 파일의 모습입니다.

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이 생성됩니다.


답변