Pandas是一個開源Python數據處理庫,它提供了高效的數據結構和數據分析工具。在Pandas中,可以使用DataFrame對象來操作表格類型的數據,它是一個二維表格數據結構,每一列可以保存不同類型的數據。本文將介紹如何使用DataFrame.insert()方法來輕鬆插入新的數據。
一、DataFrame介紹
DataFrame是Pandas庫中最常用和強大的數據結構之一,它類似於電子表格或SQL表,可以存儲不同數據類型的數據,包括數字、字符串和對象等。DataFrame具有以下特點:
1. 可以輕鬆地從各種數據源中創建DataFrame,包括CSV、Excel、SQL數據庫查詢結果等。
2. 可以支持對DataFrame進行索引和切片,以查找和提取特定的數據。
3. 可以對DataFrame進行合併、分組和重塑等操作,用於數據處理和分析。
二、DataFrame.insert()方法
DataFrame.insert()方法用於在DataFrame對象中插入新的一列或多列數據,語法如下:
DataFrame.insert(loc, column, value, allow_duplicates=False)
參數說明:
·loc:插入位置的索引。
·column:插入列的列名。
·value:插入的數據,可以是標量、Series、數組或DataFrame。
·allow_duplicates:是否允許插入同名列,默認為False。
三、使用示例
1. 插入標量數據
假設我們有一個數據集,包含商品名稱、價格、庫存等信息,我們需要插入一列折扣率數據,計算公式為:折扣率 = 0.8。
import pandas as pd
# 創建DataFrame對象
df = pd.DataFrame({'商品名稱': ['商品1', '商品2', '商品3'],
'價格': [100, 200, 300],
'庫存': [50, 100, 200]})
# 插入折扣率數據
df.insert(3, '折扣率', 0.8)
print(df)
輸出結果如下:
商品名稱 價格 庫存 折扣率
0 商品1 100 50 0.8
1 商品2 200 100 0.8
2 商品3 300 200 0.8
可以看到,折扣率列已成功插入。
2. 插入Series數據
如果需要插入一列不同的折扣率數據,可以使用Series對象。
import pandas as pd
# 創建DataFrame對象
df = pd.DataFrame({'商品名稱': ['商品1', '商品2', '商品3'],
'價格': [100, 200, 300],
'庫存': [50, 100, 200]})
# 插入不同的折扣率數據
discounts = pd.Series([0.6, 0.7, 0.8])
df.insert(3, '折扣率', discounts)
print(df)
輸出結果如下:
商品名稱 價格 庫存 折扣率
0 商品1 100 50 0.6
1 商品2 200 100 0.7
2 商品3 300 200 0.8
同樣地,折扣率列已成功插入。
3. 插入數組數據
我們也可以使用數組的方式來插入新的列數據,例如:
import pandas as pd
import numpy as np
# 創建DataFrame對象
df = pd.DataFrame({'商品名稱': ['商品1', '商品2', '商品3'],
'價格': [100, 200, 300],
'庫存': [50, 100, 200]})
# 插入隨機生成的數據
discounts = np.random.rand(3)
df.insert(3, '折扣率', discounts)
print(df)
輸出結果如下:
商品名稱 價格 庫存 折扣率
0 商品1 100 50 0.266256
1 商品2 200 100 0.400168
2 商品3 300 200 0.445974
可以看到,折扣率列已成功插入,並且值為隨機生成的數據。
4. 插入DataFrame數據
如果需要插入多列數據,可以使用另一個DataFrame對象。
import pandas as pd
# 創建DataFrame對象
df = pd.DataFrame({'商品名稱': ['商品1', '商品2', '商品3'],
'價格': [100, 200, 300],
'庫存': [50, 100, 200]})
# 創建新的DataFrame對象
discounts = pd.DataFrame({'折扣率': [0.6, 0.7, 0.8], '優惠金額': [10, 20, 30]})
# 插入新的列數據
df.insert(3, '折扣率', discounts['折扣率'])
df.insert(4, '優惠金額', discounts['優惠金額'])
print(df)
輸出結果如下:
商品名稱 價格 庫存 折扣率 優惠金額
0 商品1 100 50 0.6 10
1 商品2 200 100 0.7 20
2 商品3 300 200 0.8 30
可以看到,成功插入了兩列新數據。
總結
使用DataFrame.insert()方法可以輕鬆地插入新的數據。無論是標量、Series、數組或DataFrame,都可以使用此方法來插入新的列數據到DataFrame對象中。這大大簡化了數據處理的工作,同時增加了代碼的可讀性和可維護性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/304206.html