วิธีเพิ่มอาร์เรย์ numpy ให้กับ pandas dataframe


บางครั้งคุณอาจต้องการเพิ่มอาร์เรย์ NumPy เป็นคอลัมน์ใหม่ให้กับ Pandas DataFrame

โชคดีที่คุณสามารถทำได้โดยใช้ไวยากรณ์ต่อไปนี้:

 df[' new_column '] = array_name. tolist ()

บทช่วยสอนนี้แสดงตัวอย่างการใช้งานไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่างที่ 1: เพิ่มอาร์เรย์ NumPy เป็นคอลัมน์ใหม่ใน DataFrame

รหัสต่อไปนี้แสดงวิธีสร้าง DataFrame ของแพนด้าเพื่อเก็บสถิติผู้เล่นบาสเก็ตบอลและเพิ่มอาร์เรย์ NumPy เป็นคอลัมน์ใหม่ที่มีป้ายกำกับว่า “บล็อก”:

 import numpy as np
import pandas as pd

#create pandas DataFrame
df = pd.DataFrame({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#create NumPy array for 'blocks'
blocks = np. array ([2, 3, 1, 0, 2, 7, 8, 2])

#add 'blocks' array as new column in DataFrame
df[' blocks '] = blocks. tolist ()

#display the DataFrame
print(df)

   points assists rebounds blocks
0 25 5 11 2
1 12 7 8 3
2 15 7 10 1
3 14 9 6 0
4 19 12 6 2
5 23 9 5 7
6 25 9 9 8
7 29 4 12 2

โปรดทราบว่าตอนนี้ DataFrame ใหม่มีคอลัมน์เพิ่มเติมชื่อ Blocks

ตัวอย่างที่ 2: เพิ่ม NumPy Matrix เป็นคอลัมน์ใหม่ใน DataFrame

รหัสต่อไปนี้แสดงวิธีสร้าง DataFrame ของแพนด้าเพื่อเก็บสถิติผู้เล่นบาสเก็ตบอลและเพิ่มอาร์เรย์ NumPy เป็นคอลัมน์ใหม่ที่มีป้ายกำกับว่า “บล็อก”:

 import numpy as np
import pandas as pd

#create pandas DataFrame
df = pd.DataFrame({' points ': [25, 12, 15, 14, 19, 23

#create NumPy matrix
mat = np.matrix([[2, 3],
                 [1, 0],
                 [2, 7],
                 [8, 2],
                 [3, 4],
                 [7, 7],
                 [7, 5],
                 [6, 3]])

#add NumPy matrix as new columns in DataFrame
df_new = pd. concat ([df, pd.DataFrame(mat)], axis= 1 )

#display new DataFrame
print(df_new)

   points assists rebounds 0 1
0 25 5 11 2 3
1 12 7 8 1 0
2 15 7 10 2 7
3 14 9 6 8 2
4 19 12 6 3 4
5 23 9 5 7 7
6 25 9 9 7 5
7 29 4 12 6 3

โปรดทราบว่าชื่อคอลัมน์ของเมทริกซ์ที่เราเพิ่มลงใน DataFrame จะได้รับชื่อคอลัมน์เริ่มต้นเป็น 0 และ 1

เราสามารถเปลี่ยนชื่อคอลัมน์เหล่านี้ได้อย่างง่ายดายโดยใช้ฟังก์ชัน df.columns :

 #rename columns
df_new. columns = ['pts', 'ast', 'rebs', 'new1', 'new2']

#display DataFrame
print(df_new)

pts ast rebs new1 new2
0 25 5 11 2 3
1 12 7 8 1 0
2 15 7 10 2 7
3 14 9 6 8 2
4 19 12 6 3 4
5 23 9 5 7 7
6 25 9 9 7 5
7 29 4 12 6 3

แหล่งข้อมูลเพิ่มเติม

วิธีซ้อน Pandas DataFrames หลายอัน
วิธีรวม Pandas DataFrames สองตัวบนดัชนี
วิธีแปลง Pandas DataFrame เป็นอาร์เรย์ NumPy
วิธีเปลี่ยนชื่อคอลัมน์ใน Pandas

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *