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数据更改、插入新增的列和行的方法的完整攻略。