팬더 : 시리즈 및 DataFrame

Pandas는 데이터 저장 및 조작을 위해 DataFrame 및 Series라는 두 가지 기본 데이터 구조를 사용합니다. 각각은 dictionarieslists 의 혼합 또는 복합 데이터 구조로 생각할 수 있습니다. 즉, pandas 데이터 구조의 요소는 키 값과 숫자 인덱스를 통해 액세스할 수 있습니다.

기사의 나머지 부분에서는 pandas 라이브러리를 가져오겠습니다.

import pandas as pd



시리즈



기술적으로 Series는 인덱스 이름, 데이터 유형 및 배열 이름과 같은 여러 데이터 속성으로 주석이 달린 값의 단일 차원 배열을 보유해야 합니다.

계열을 만들려면 Series 생성자pd.Series()를 사용하고 일반적으로 두 개의 인수를 사용하여 계열을 만듭니다. 첫 번째 인수는 데이터 값 배열을 전달하는 데 사용되고 두 번째 선택적 인수는 인덱스 이름 배열을 전달하는 데 사용됩니다. 시리즈에 이름을 부여하는 데 사용되는 세 번째 인수도 있습니다.

시리즈를 만들 수 있는 몇 가지 방법은 다음과 같습니다.

tweet = pd.Series(["My first tweet", 20, 4],
                  index=["message", "likes", "retweets"],
                  name="Tweet Data")

letters = pd.Series(['a', 'b', 'c', 'd'],
                    index=range(4))

ranking = pd.Series(["A. Einstein", "I. Newton",
                     "N. Tesla", "Heisenberg"],
                    index=[1, 2, 3, 4], name="Scientists")

countries = pd.Series(["India", "Russia", "Japan", "China"])

print(tweet)의 출력은 다음과 같습니다.



인덱스 이름과 전체 시리즈의 이름(이 경우 "Tweet Data")을 지정하는 방법에 유의하십시오.

이제 이러한 인덱스 이름을 사용하여 Series의 개별 요소에 액세스할 수 있습니다. 실제로 개별 요소에 액세스하는 세 가지 방법이 있습니다. 즉, 대괄호 연산자(사전에서와 같이 '[]') 안에 색인 이름을 지정하고 점 연산자와 함께 색인 이름을 사용하는 것입니다(이름에 포함되지 않은 경우에만). 모든 공백) 및 Python 목록 인덱싱 사용:

print(tweet["message"]) # Output : "My first tweet"
print(tweet.likes) # Output : 20
print(tweet[2]) # Output : 4



데이터프레임



DataFrame은 기술적으로 Series의 모음, 즉 여러 Series가 함께 붙어 있는 것입니다. 평행선을 그리기 위해 2차원 배열 또는 행렬로 생각할 수 있습니다. 그러나 이것은 배열이나 행렬보다 훨씬 더 많은 것입니다. DataFrame은 데이터의 2차원보다 훨씬 더 많은 것을 담을 수 있습니다.

DataFrame을 생성하기 위해 DataFrame 생성자pd.DataFrame()를 사용할 것입니다. DataFrame 생성자는 하나의 위치 인수와 여러 키워드 인수를 사용하지만 일반적으로 사용하는 세 개의 인수가 있습니다. 첫 번째 인수는 각 키-값 쌍이 열을 나타내는 1차원 배열을 포함하는 사전을 차지합니다. 두 번째 인수는 열의 이름을 사용합니다. 그리고 세 번째 인수는 인덱스 이름을 포함하는 목록을 사용합니다.

예를 들어

sales = pd.DataFrame({"Laptops" : [100, 110, 20],
                      "Mobiles" : [30, 35, 4],
                      "Earphones" : [150, 120, 40]},
                     columns={"Laptops", "Mobiles", "Earphones"},
                     index=["2018", "2019", "2020"])
sales


출력 :



Series 생성자와 동일한 방식으로 DataFrame 생성자를 사용할 수 있습니다. 대괄호 연산자 또는 점 연산자를 사용하여 열 이름으로 인덱싱하여 DataFrame의 개별 열에 액세스할 수 있습니다.

print(sales["Mobiles"], '\n')
print(sales.Earphones)


출력 :



이제 DataFrame 내부의 개별 데이터 요소에 액세스하려면 ilocloc 라는 두 가지 방법을 사용합니다.

iloc : DataFrame의 인덱싱을 표준 Python 매트릭스의 0부터 시작하는 인덱싱으로 줄입니다. 대괄호와 함께 작동합니다.
그건,

sales.iloc[0][2] # Output : 150. Laptop Sales in 2018
sales.iloc[0][0] # Output : 100.  Mobile Sales in 2018
sales.iloc[2][2] # Output : 40   Earphone Sales in 2020


참고: iloc 방법은 숫자 인덱스에서만 작동합니다.

loc : 이것은 DataFrame의 요소에 액세스할 수 있는 많은 유연한 방법을 제공합니다. 요소에 액세스하는 이 방법은 numpy 배열에 익숙하다면 numpy 배열 인덱스와 매우 유사합니다. 이렇게 하면 인덱스와 열 모두에 레이블을 사용하고 숫자 인덱스도 사용하여 요소에 액세스할 수 있습니다. 그건 :

sales.loc['2018', 'Mobiles']            # Output : 30
sales.loc['2020', 'Earphones']          # Output : 40
sales.loc[['2018', '2020'], 'Laptops'] 
# Output :
# 2018    100
# 2020     20
# Name: Laptops, dtype: int64

loc 메서드도 부울 값의 배열을 인수로 사용하지만 다른 기사를 위해 저장해 두겠습니다.

읽어 주셔서 감사합니다.

문안 인사,

Suraj Upadhyay.

좋은 웹페이지 즐겨찾기