Pandas DataFrame数据的更改、插入新增的列和行的方法

  • Post category:Python

Pandas是Python中的一个强大的数据分析库,其中DataFrame是其中最重要的数据结构之一。DataFrame可以看作是Excel中的一个表格,既有行索引,又有列索引。在PandasDataFrame中,我们常常需要对数据进行更改、插入新增列和行等操作。以下是关于PandasDataFrame数据更改、插入新增的列和行的方法的完整攻略:

1. PandasDataFrame数据的更改

1.1 修改一列中的某些元素

修改DataFrame中的某些元素可以使用loc和iloc方法进行。loc使用标签定位元素,iloc使用下标定位元素。

例如,将DataFrame中’col1’列中数值为10的元素修改为100,可以使用以下代码:

import pandas as pd
import numpy as np

df = pd.DataFrame({'col1': [1, 10, 5], 'col2': [2, 20, 10], 'col3': [3, 30, 15]})
df.loc[df['col1'] == 10, 'col1'] = 100
print(df)

输出结果为:

   col1  col2  col3
0     1     2     3
1   100    20    30
2     5    10    15

同样的,如果想要修改第二行第三列元素的值为100,可以使用以下代码:

df.iloc[1,2] = 100
print(df)

输出结果为:

   col1  col2  col3
0     1     2     3
1   100    20   100
2     5    10    15

1.2 修改一行中的某些元素

修改一行的方法与修改一列的方法类似。使用loc方法将行的标签传入,再进行更改。

例如,将DataFrame中index为1的那一行中数值为20的元素修改为200,可以使用以下代码:

df.loc[1, df.columns[df.loc[1,:] == 20].tolist()] = 200
print(df)

输出结果为:

   col1  col2  col3
0     1     2     3
1   100   200   100
2     5    10    15

2. PandasDataFrame数据插入新增的列和行

2.1 新增一列

添加新列可以使用assign方法,并传入要新增的列的标签和该列的值。

例如,新增一列’col4’,并将其值设为所有行的’col1’和’col2’的和,可以使用以下代码:

df = df.assign(col4 = df['col1'] + df['col2'])
print(df)

输出结果为:

   col1  col2  col3  col4
0     1     2     3     3
1   100   200   100   300
2     5    10    15    15

2.2 新增一行

插入新行可以使用append方法,并传入一个包含新数据的DataFrame。

例如,新增一行,将索引为3,’col1’和’col2’分别为6和12,’col3’为24,’col4’为18,可以使用以下代码:

new_row = pd.DataFrame({'col1': [6], 'col2': [12], 'col3': [24], 'col4': [18]}, index=[3])
df = pd.concat([df, new_row])
print(df)

输出结果为:

   col1  col2  col3  col4
0     1     2     3     3
1   100   200   100   300
2     5    10    15    15
3     6    12    24    18

以上便是PandasDataFrame数据更改、插入新增的列和行的方法的完整攻略。