Pandas에서 상수 값이 있는 열 추가

Olorunfemi Akinlua 2023년6월21일
  1. 제자리 할당을 사용하여 Pandas에서 상수 값이 있는 열 추가
  2. Pandas에서 loc 메서드를 사용하여 상수 값이 있는 열 추가
  3. assign() 함수를 사용하여 Pandas에서 상수 값이 있는 열 추가
  4. fromkeys() 메서드를 사용하여 Pandas에서 상수 값이 있는 열 추가
  5. series() 메서드를 사용하여 Pandas에서 상수 값이 있는 열 추가
  6. apply() 함수를 사용하여 Pandas에서 상수 값이 있는 열 추가
Pandas에서 상수 값이 있는 열 추가

종종 CSV, JSON과 같은 외부 소스에서 데이터를 로드하거나 numpy 라이브러리를 기반으로 채웁니다. 그러나 그 이상으로 작업할 값이 있는 새 데이터 열을 만들어야 합니다.

이를 달성하기 위해 특정 사용 사례에 대해 다양한 복잡성을 가진 다양한 접근 방식을 사용할 수 있습니다. 이 기사에서는 Pandas에서 상수 값이 있는 열을 추가하는 6가지 방법에 대해 설명합니다.

제자리 할당을 사용하여 Pandas에서 상수 값이 있는 열 추가

pandas에서 상수 값이 있는 열을 추가하는 가장 간단한 방법은 일반적인 할당 연산자(=)를 사용하는 것입니다. 이를 사용할 때 아래와 같이 대괄호 표기법을 사용하여 새 열 이름에 상수 값을 할당합니다.

DataFrame["column name"] = value

numpy를 사용하여 무작위 데이터 프레임(A, BC의 3개 열 포함)을 생성한 다음 0.1의 상수 값을 가진 새 열(D)을 추가하여 이를 설명하겠습니다. .

암호:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(3, 3), columns=list("ABC"), index=[1, 2, 3])

print(df)

출력:

          A         B         C
1  0.466388 -0.626593  0.127939
2 -0.523171  0.778552 -1.056575
3  1.669556 -0.254253  0.855463

이제 0.1 상수 값이 있는 새 D 열을 추가하려면 아래 코드로 충분합니다.

암호:

df["D"] = 0.1
print(df)

출력:

         A         B         C    D
1 -0.099164  0.100860  0.070556  0.1
2 -0.693606 -0.226484  0.032315  0.1
3  0.831928 -0.545919  1.759017  0.1

Pandas에서 loc 메서드를 사용하여 상수 값이 있는 열 추가

loc 메서드는 pandas에서 상수 값이 있는 열을 추가하는 데 사용할 수 있는 또 다른 접근 방식입니다. loc 메서드를 사용하면 DataFrame의 일부를 행 및 열 이름으로 인덱싱할 수 있으므로 loc 메서드를 사용하여 새 열을 선택하고(이전 섹션의 제곱 표기법에서 수행한 것처럼) 새 열 이름.

loc 메서드를 사용하여 상수 값 0.2와 함께 새 열 이름 E를 추가해 보겠습니다.

암호:

df.loc[:, "E"] = 0.2
print(df)

출력:

       A         B         C       E
1 -0.233729 -0.343784 -0.354388  0.2
2 -0.529278 -0.239034  0.791784  0.2
3 -0.498778  0.165311  2.983666  0.2

:은 모든 행이 인덱싱되고 E 열이 지정된 다음 0.2 값이 할당됨을 지정합니다.

assign() 함수를 사용하여 Pandas에서 상수 값이 있는 열 추가

Pandas에서 상수 값이 있는 열을 추가하는 작업을 수행하는 또 다른 접근 방식은 assign() 함수입니다. assign() 함수는 열 이름이 함수의 인수로 전달되는 Pandas DataFrame에 새 열을 할당하도록 설계된 특정 함수입니다.

이를 사용하여 기사에서 사용한 df DataFrame에 할당된 값 0.3이 있는 새 열 F를 생성합니다.

암호:

df = df.assign(F=0.3)
print(df)

출력:

          A         B         C    D    E    F
1  1.474679 -0.369649  0.258509  0.1  0.2  0.3
2 -0.887326 -0.097165  0.394489  0.1  0.2  0.3
3 -1.763712  0.631679 -0.667194  0.1  0.2  0.3

fromkeys() 메서드를 사용하여 Pandas에서 상수 값이 있는 열 추가

그래도 assign() 함수에서 Pandas에서 상수 값이 있는 여러 열을 추가하려면 assign() 함수와 dict.fromkeys() 함수를 사용할 수 있습니다. fromkeys() 함수는 두 개의 인수를 사용합니다.

첫 번째 인수는 열 이름을 포함하는 목록이고 두 번째 인수는 전달한 열에서 원하는 상수 값입니다. fromkeys()는 키 쌍 관계에 대한 첫 번째 인수(목록)와 두 번째 인수(값)를 기반으로 생성된 사전을 반환합니다.

그 후 사전은 assign() 함수로 파싱되고 **는 함수에 임의의 수의 인수(사전)를 허용하는 관용구 역할을 합니다.

암호:

newColumns = ["G", "H", "I"]
df = df.assign(**dict.fromkeys(newColumns, 0.4))
print(df)

출력:

          A         B         C    D    E    F    G    H    I
1  1.474679 -0.369649  0.258509  0.1  0.2  0.3  0.4  0.4  0.4
2 -0.887326 -0.097165  0.394489  0.1  0.2  0.3  0.4  0.4  0.4
3 -1.763712  0.631679 -0.667194  0.1  0.2  0.3  0.4  0.4  0.4

목록과 fromkeys() 함수를 사용하는 대신 사전을 직접 만들고 assign() 함수를 사용하여 각 열에 원하는 상수 값을 지정할 수 있습니다. 이렇게 하면 각 열에 대해 서로 다른 상수 값을 갖게 됩니다.

암호:

newDictColumns = {"J": 0.5, "K": 0.6, "L": 0.7}
df = df.assign(**newDictColumns)
print(df)

출력:

          A         B         C    D    E    F    G    H    I    J    K    L
1  1.474679 -0.369649  0.258509  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7
2 -0.887326 -0.097165  0.394489  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7
3 -1.763712  0.631679 -0.667194  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7

series() 메서드를 사용하여 Pandas에서 상수 값이 있는 열 추가

series() 함수를 사용하면 축 레이블이 있는 1차원 배열을 만들 수 있습니다. 새 열을 추가하기 위해 목록 내포를 사용하여 DataFrame 인덱스를 반복하고 상수 값을 추가합니다.

목록 내포를 series() 함수에 전달하여 M 열을 추가해 보겠습니다.

암호:

df["M"] = pd.Series([0.8 for x in range(len(df.index) + 1)])
print(df)

출력:

          A         B         C    D    E    F    G    H    I    J    K    L  \
1  1.474679 -0.369649  0.258509  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7
2 -0.887326 -0.097165  0.394489  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7
3 -1.763712  0.631679 -0.667194  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7

     M
1  0.8
2  0.8
3  0.8

apply() 함수를 사용하여 Pandas에서 상수 값이 있는 열 추가

apply() 함수를 사용하여 각 셀에 값을 할당하는 lambda 함수를 전달하여 Pandas에서 상수 값이 있는 열을 추가할 수 있습니다. 그런 다음 apply() 함수의 결과가 DataFrame 열의 제곱 표기법에 할당됩니다.

apply() 함수 내에서 lambda 함수를 사용하여 0.9 상수 값을 갖는 N 열을 생성하여 이를 실제로 살펴보겠습니다.

암호:

df["N"] = df.apply(lambda x: 0.9, axis=1)
print(df)

출력:

          A         B         C    D    E    F    G    H    I    J    K    L  \
1  1.474679 -0.369649  0.258509  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7
2 -0.887326 -0.097165  0.394489  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7
3 -1.763712  0.631679 -0.667194  0.1  0.2  0.3  0.4  0.4  0.4  0.5  0.6  0.7

     M    N
1  0.8  0.9
2  0.8  0.9
3  0.8  0.9
Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn

관련 문장 - Pandas DataFrame