欢迎访问宙启技术站
智能推送

使用Pandas怎么更改和插入DataFrame数据

发布时间:2023-05-18 05:04:48

Pandas是一个开源的Python数据分析工具,能够高效地处理数据和进行数据分析。其中最常用的数据结构是DataFrame,它类似于Excel的二维表格,可以包含多种数据类型的数据。

在实际应用中,我们经常需要对DataFrame中的数据进行修改或插入。Pandas提供了各种方法来完成这些操作,本文将介绍其中的几种常用方法。

一、更改数据

Pandas提供了几种方式来更改DataFrame中的数据。

1. loc方法:loc方法可用于根据标签和轴索引更改数据,它的语法如下:

df.loc[row_label, col_label] = new_value

其中,row_label和col_label分别表示要更改的行标签和列标签,new_value表示需要更新的新值。

举一个例子,假设我们有一个DataFrame如下所示:

    Name Age Gender

0    Tom  20   male

1   Lucy  22   female

2  Sarah  24   female

现在,我们要把Tom的年龄改为25,可以使用以下代码:

df.loc[0, 'Age'] = 25

修改后的DataFrame如下所示:

    Name Age Gender

0    Tom  25   male

1   Lucy  22   female

2  Sarah  24   female

2. iloc方法:iloc方法可以根据整数位置进行数据修改,其语法如下:

df.iloc[row_index, col_index] = new_value

其中,row_index和col_index分别表示要更改的行索引和列索引,new_value表示需要更新的新值。

举一个例子,在上述的DataFrame中,我们要将Lucy的年龄改为23,可以使用以下代码:

df.iloc[1, 1] = 23

修改后的DataFrame如下所示:

    Name Age Gender

0    Tom  25   male

1   Lucy  23   female

2  Sarah  24   female

3. at方法:at方法可以根据行标签和列标签进行单个数据的修改,其语法如下:

df.at[row_label, col_label] = new_value

其中,row_label和col_label分别表示要更改的行标签和列标签,new_value表示需要更新的新值。

举一个例子,在上述的DataFrame中,我们要把Sarah的Gender改为male,可以使用以下代码:

df.at[2, 'Gender'] = 'male'

修改后的DataFrame如下所示:

    Name Age Gender

0    Tom  25   male

1   Lucy  23   female

2  Sarah  24   male

二、插入数据

Pandas提供了几种方法来插入数据到DataFrame中。

1. insert方法:insert方法可以在指定的列位置插入新列,其语法如下:

df.insert(loc, column, value)

其中,loc表示要插入的列索引,column表示插入的列名,value表示要插入的数据。如果要插入的数据是数组或Series,则插入的数据长度必须与DataFrame的长度相同。

举一个例子,在上述的DataFrame中,我们要新增一列Score,插入到Age和Gender之间,可以使用以下代码:

df.insert(2, 'Score', [80, 90, 85])

修改后的DataFrame如下所示:

    Name Age Score Gender

0    Tom  25    80   male

1   Lucy  23    90 female

2  Sarah  24    85   male

2. append方法:append方法可以将新行插入到DataFrame的末尾,其语法如下:

df.append(other)

其中,other为要插入的新行,需要与DataFrame的列名相同。

举一个例子,在上述的DataFrame中,我们要新增一行数据{'Name':'Jack', 'Age':21, 'Score':88, 'Gender':'male'},可以使用以下代码:

new_row = pd.DataFrame({'Name':['Jack'], 'Age':[21], 'Score':[88], 'Gender':['male']})

df = df.append(new_row, ignore_index=True)

注意,这里使用了参数ignore_index=True,表示重新生成索引。

修改后的DataFrame如下所示:

    Name Age Score Gender

0    Tom  25    80   male

1   Lucy  23    90 female

2  Sarah  24    85   male

3   Jack  21    88   male

以上就是Pandas中更改和插入DataFrame数据的几种常用方法,使用这些方法可以方便地对DataFrame进行修改和维护。