dataframe加一列

在數據處理中,常常會需要給數據添加一些列,比如計算出某一行的總和,或者根據已有的數據算出新的數據等等。在Pandas數據分析庫中,我們可以輕易地實現給dataframe添加一列的功能。

一、dataframe加一列數據

在Pandas庫中,我們可以通過將一個Series類型的數據插入到dataframe中,從而實現給dataframe加一列。這裡演示一個簡單的例子:在一個學生信息的dataframe中,我們添加一列記錄學生的性別。


import pandas as pd

# 創建dataframe
df = pd.DataFrame({'姓名':['小明', '小紅', '小華'], '年齡':[20, 21, 19]})

# 添加性別列
gender = pd.Series(['男', '女', '男'])
df['性別'] = gender

print(df)

輸出結果如下:


   姓名  年齡 性別
0  小明   20  男
1  小紅   21  女
2  小華   19  男

我們首先創建了一個包含三行(三個學生)的dataframe,然後通過Series類型的數據`gender`,將性別信息添加到dataframe中。在輸出結果中可以看到,dataframe中已經成功添加了新的一列。

二、dataframe增加一列索引

在Pandas庫中,每一個dataframe和series對象都有一個索引(index)屬性,它用來標識每一個元素(行或列)在數據集中的位置。在給dataframe添加新列時,我們可以通過修改索引值的方式來實現。


# 創建dataframe,指定索引為學生的編號(001、002、003)
df = pd.DataFrame({'姓名':['小明', '小紅', '小華'], '年齡':[20, 21, 19]}, index=['001', '002', '003'])

# 添加性別列
gender = pd.Series(['男', '女', '男'], index=['001', '002', '003'])
df['性別'] = gender

print(df)

輸出結果如下:


    姓名  年齡 性別
001  小明   20  男
002  小紅   21  女
003  小華   19  男

我們通過設置索引為學生的編號,來標識每個學生在數據集中的位置。然後通過設置相同的索引值,來實現將性別信息添加到dataframe中。

三、dataframe加一列自增長複製

除了手動將數據插入到dataframe中,我們還可以通過使用`range`函數生成一組自增長的數據,然後再賦值給已有的dataframe中的新列。這裡我們演示一下怎麼生成一組自增長的數據,在dataframe中添加新列。


# 創建dataframe
df = pd.DataFrame({'姓名':['小明', '小紅', '小華'], '年齡':[20, 21, 19]})

# 添加id列(自增長)
df['id'] = range(1, len(df)+1)

print(df)

輸出結果如下:


   姓名  年齡  id
0  小明   20   1
1  小紅   21   2
2  小華   19   3

我們通過使用`range`函數生成了一個從1到dataframe數據行數+1的自增長序列,然後將其賦值給新的列’id’。這樣我們就成功地在dataframe中添加了一列新的自增長數據。

四、dataframe添加一列數據

在dataframe中添加一列數據,最常用的方法就是將新的值插入到一個新的series中,然後將這個series作為新的列加入到dataframe中。


# 創建dataframe
df = pd.DataFrame({'姓名':['小明', '小紅', '小華'], '年齡':[20, 21, 19]})

# 添加身高數據列
height = [175, 165, 172]
df['身高'] = height

print(df)

輸出結果如下:


   姓名  年齡   身高
0  小明   20  175
1  小紅   21  165
2  小華   19  172

我們使用了常規的列表形式來添加新的身高數據列。在添加完之後,我們可以通過列印出整個dataframe來確認新的列是否添加成功。

五、dataframe修改數據

有時候我們需要修改已有的dataframe中的數據,比如對某一行、某一列的數據進行修改。Pandas庫中提供了`loc`和`iloc`兩個方法,可以讓我們非常方便地實現修改已有數據的功能。


# 創建dataframe
df = pd.DataFrame({'姓名':['小明', '小紅', '小華'], '年齡':[20, 21, 19], '身高':[175, 165, 172]})

# 修改小紅的身高數據
df.loc[1, '身高'] = 168

print(df)

輸出結果如下:


   姓名  年齡   身高
0  小明   20  175
1  小紅   21  168
2  小華   19  172

我們使用`loc`方法定位到『小紅』這一行,並將『身高』這一列的數據修改為168。在最後列印整個dataframe時,我們可以看到已經成功地修改了對應的數據。

六、python dataframe增加一列

當我們需要求出某一列的總和、均值等統計信息時,我們需要在dataframe中加入一列統計數據。Pandas庫中提供了各種聚合函數,可以滿足我們所有的需求。


# 創建dataframe
df = pd.DataFrame({'科目':['語文', '數學', '英語'], '成績':[90, 85, 92]})

# 添加統計數據列(平均分)
average = df['成績'].mean()
df['平均分'] = average

print(df)

輸出結果如下:


   科目  成績       平均分
0  語文  90  89.000000
1  數學  85  89.000000
2  英語  92  89.000000

我們使用`mean()`方法求出了『成績』這一列的平均分,並將其賦值給新的列『平均分』。在列印結果中,我們可以看到新的一列統計數據已經成功地添加到了dataframe中。

七、dataframe插入數據

在dataframe中插入數據並不是一種常見的情況,但是有時有這種需求的時候,我們可以使用`insert`函數來實現。


# 創建dataframe
df = pd.DataFrame({'姓名':['小明', '小紅', '小華'], '年齡':[20, 21, 19], '性別':['男', '女', '男']})

# 插入身高數據列(在年齡列的後面)
height = [175, 165, 172]
df.insert(2, '身高', height)

print(df)

輸出結果如下:


   姓名  年齡   身高 性別
0  小明   20  175  男
1  小紅   21  165  女
2  小華   19  172  男

我們使用了`insert`函數,將身高數據列插入到了『年齡』這一列的後面,插入時需要指定插入的位置(列索引)和插入的列名稱。在輸出結果中,我們可以看到新的一列成功地插入到了dataframe中。

八、dataframe加一列並且賦值為0

有時候我們需要先將新的一列添加到dataframe中,然後將整列數據賦值為0,這時我們可以通過先創建一個全0的series類型數據,然後將其插入到dataframe中,從而實現在dataframe中添加新的全0列。


# 創建dataframe
df = pd.DataFrame({'姓名':['小明', '小紅', '小華'], '年齡':[20, 21, 19], '性別':['男', '女', '男']})

# 添加全0列(成績)
score = pd.Series(data=0, index=df.index)
df['成績'] = score

print(df)

輸出結果如下:


   姓名  年齡 性別  成績
0  小明   20  男   0
1  小紅   21  女   0
2  小華   19  男   0

我們使用了`pd.Series`的用法生成了一個全為0的series類型數據,並將其添加到dataframe中,從而得到了新的全0列『成績』。在輸出結果中,我們可以看到新的列已經成功地添加到了dataframe中。

九、dataframe加一列並且賦值為bool

在一些數據挖掘的場景中,我們需要根據某些條件創建新的列,並將該列賦值為bool類型的值。在Pandas庫中,我們可以使用`loc`方法來實現這一功能。


# 創建dataframe
df = pd.DataFrame({'姓名':['小明', '小紅', '小華'], '年齡':[20, 21, 19], '性別':['男', '女', '男']})

# 添加新列male,如果性別為男則為True,否則為False
df.loc[df['性別']=='男', 'male'] = True
df.loc[df['性別']=='女', 'male'] = False

print(df)

輸出結果如下:


   姓名  年齡 性別  male
0  小明   20  男  True
1  小紅   21  女 False
2  小華   19  男  True

我們使用了兩個`loc`方法,判斷性別為『男』的行,將新的列『male』賦值為True,否則賦值為False。在輸出結果中,我們可以看到已經成功地創建了新的bool類型的列『male』。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/257679.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:46
下一篇 2024-12-15 12:46

相關推薦

  • Python DataFrame轉List用法介紹

    Python中常用的數據結構之一為DataFrame,但有時需要針對特定需求將DataFrame轉為List。本文從多個方面針對Python DataFrame轉List詳細介紹。…

    編程 2025-04-27
  • Spark中的DataFrame

    在Spark中,DataFrame被視作目前最重要的一種數據結構,它是以列為基礎的分散式數據集合,是一個類似於關係型資料庫中的表的概念。而且,Spark的DataFrame往往有更…

    編程 2025-04-22
  • Python Series變成DataFrame詳解

    一、Series與DataFrame的概念 在介紹如何將Series轉化為DataFrame之前,我們需要了解一下什麼是Series和DataFrame。 在pandas庫中,Se…

    編程 2025-04-12
  • Dataframe獲取某一行詳解

    一、基本介紹 Dataframe是一種基於pandas庫的二維表結構,通常用於處理和操作數據。在數據分析和機器學習的應用場景中,我們經常需要從dataframe中獲取某一行數據進行…

    編程 2025-04-12
  • 深入理解dataframe.plot

    一、簡介 Python的pandas庫提供了一個靈活、方便的繪圖工具——dataframe.plot,它是基於matplotlib庫的二次封裝,可以快速繪製數據表中各列之間的關係圖…

    編程 2025-02-25
  • Dataframe更改列名

    一、rename()方法簡介 在Pandas的Dataframe中,rename()是常用的更改列名的方法,它可以直接修改Dataframe對象本身,也可以返回一個新的Datafr…

    編程 2025-02-24
  • dataframe設置索引的多個方面

    一、為什麼需要設置索引 在pandas中,我們通常使用dataframe來進行數據處理和分析。dataframe是一個二維表格,其中包含行和列。在數據處理中,我們需要對數據進行多種…

    編程 2025-02-01
  • r語言dataframe變為數值型

    一、讀取dataframe 在r語言中,讀取數據最常用的函數是read.csv和read.table。這兩個函數都可以讀取csv和txt兩種格式的文件,將數據讀入到r語言中,存儲為…

    編程 2025-01-27
  • 詳解dataframe循環

    一、dataframe循環簡介 dataframe是Python中pandas庫中的一種數據結構,廣泛應用於數據分析和處理中。數據框(dataframe)是一個由行和列組成的表格型…

    編程 2025-01-21
  • Python DataFrame刪除指定行

    Python中的Pandas庫提供了一個數據結構DataFrame,它是一個二維表,有行索引和列索引。有時候我們需要對DataFrame進行刪除指定行的操作。在這篇文章中,我們將從…

    編程 2025-01-20

發表回復

登錄後才能評論