Pandas지도 파이썬

Suraj Joshi 2021년3월8일
Pandas지도 파이썬

이 튜토리얼에서는Series.map()메서드를 사용하여 Pandas 시리즈의 값을 다른 값으로 대체하는 방법을 설명합니다.

import pandas as pd

my_series = pd.Series([85, 87, 90, 89], index=["1", "2", "3", "4"])

print(my_series, "\n")

출력:

1    85
2    87
3    90
4    89
dtype: int64

위의 예에 표시된 Series my_series를 사용하여 Pandas에서map()메서드의 작동을 설명합니다.

pandas.Series.map()

통사론

Series.map(arg, na_action=None)

arg 매개 변수에 따라 호출자Series 객체의 값을 대체하여Series 객체를 반환합니다. argSeries 객체의 새로운 값을 결정하는function,dictionary 또는Series 객체 일 수 있습니다.

na_action 매개 변수는 값으로None 또는 'ignore'를 사용할 수 있습니다. na_action'ignore' 값은SeriesNaN 값을 무시하고 아무것도하지 않음을 나타냅니다.

예 : Pandas 시리즈에map()메서드 사용

import pandas as pd

my_series = pd.Series([85, 87, 90, 89], index=["1", "2", "3", "4"])

altered_series = my_series.map({85: 80, 87: 80, 90: 90, 89: 80})

print("Initial Series:")
print(my_series, "\n")

print("Altered Series:")
print(altered_series, "\n")

출력:

Initial Series:
1    85
2    87
3    90
4    89
dtype: int64

Altered Series:
1    80
2    80
3    90
4    80
dtype: int64

map()메소드에 인수로 전달 된 사전에 지정된 값에 따라my_series의 요소를 대체합니다.

또한 함수를 사용하여map()메서드를 사용하여 Pandas 시리즈의 값을 변경할 수 있습니다.

import pandas as pd

my_series = pd.Series([85, 87, 90, 89], index=["1", "2", "3", "4"])

altered_series = my_series.map(lambda x: str(x) + ".00")

print("Initial Series:")
print(my_series, "\n")

print("Altered Series:")
print(altered_series, "\n")

출력:

Initial Series:
1    85
2    87
3    90
4    89
dtype: int64

Altered Series:
1    85.00
2    87.00
3    90.00
4    89.00
dtype: object

my_series의 모든 요소를 취하고 my_series의 각 요소 끝에 .00을 추가합니다.

예: map()메서드를 사용하여 DataFrame의 특정 열 변경

import pandas as pd

df_1 = pd.DataFrame(
    {
        "Column 1": [85, 87, 90, 89],
        "Column 2": [55, 54, 56, 66],
        "Column 3": [23, 95, 65, 45],
    },
    index=["1", "2", "3", "4"],
)

print("Initial DataFrame:")
print(df_1, "\n")

df_1["Column 1"] = df_1["Column 1"].map(lambda x: x * 10)

print("DataFrame after changing Column 1:")
print(df_1)

출력:

Initial DataFrame:
   Column 1  Column 2  Column 3
1        85        55        23
2        87        54        95
3        90        56        65
4        89        66        45

DataFrame after changing Column 1:
   Column 1  Column 2  Column 3
1       850        55        23
2       870        54        95
3       900        56        65
4       890        66        45

map()메소드를 사용하여 DataFrame의Column 1에만lambda 함수를 적용합니다. 단일 열은Series 객체이므로 DataFrame 열과 함께map()메서드를 사용할 수 있습니다. 그런 다음map()메서드에서 반환 된Series 객체를df_1 DataFrame의Column 1에 다시 할당합니다. 이러한 방식으로 DataFrame의 특정 열의 값만 변경할 수 있습니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

관련 문장 - Pandas Series