表一
image.png表二
image.png表追加
表追加,重设索引,原索引作为index列
import pandas as pd
df_1 = pd.read_excel(io='exls/rows.xlsx', sheet_name='Sheet1')
df_2 = pd.read_excel(io='exls/rows.xlsx', sheet_name='Sheet2')
# 表追加,reset_index(),重设索引,原索引作为index列
df_new = df_1.append(df_2).reset_index()
print(df_new)
表追加还可以使用
df_new = pd.concat([df_1, df_2]).reset_index(drop=True)
output
index ID NAME
0 0 1 S1
1 1 2 S2
2 2 3 S3
3 3 4 S4
4 4 5 S5
5 5 6 S6
6 6 7 S7
7 7 8 S8
8 8 9 S9
9 9 10 S10
10 0 11 S11
11 1 12 S12
12 2 13 S13
13 3 14 S14
14 4 15 S15
15 5 16 S16
16 6 17 S17
17 7 18 S18
18 8 19 S19
19 9 20 S20
去掉index列
# 表追加,reset_index()重设索引,原索引作为index列,去掉index列加入参数reset_index(drop=True)
df_new = df_1.append(df_2).reset_index(drop=True)
output
ID NAME
0 1 S1
1 2 S2
2 3 S3
3 4 S4
4 5 S5
5 6 S6
6 7 S7
7 8 S8
8 9 S9
9 10 S10
10 11 S11
11 12 S12
12 13 S13
13 14 S14
14 15 S15
15 16 S16
16 17 S17
17 18 S18
18 19 S19
19 20 S20
追加一条记录
# 追加一行数据
new_data = pd.Series({'ID': 21, 'NAME': 'Peter'})
df_new= df_new.append(new_data, ignore_index=True)
output
17 18 S18
18 19 S19
19 20 S20
20 21 Peter
修改指定某行某列(单元格)的数据at
# 修改索引号为18,的NAME值
df_new.at[18, 'NAME'] = '张三'
output
18 19 张三
19 20 S20
20 21 Peter
整行替换
# 整行替换iloc
new_data = pd.Series({'ID': 20, 'NAME': '李四'})
df_new.iloc[19] = new_data
output
17 18 S18
18 19 张三
19 20 李四
20 21 Peter
插入行
# 插入行
new_data = pd.Series({'ID': 100, 'NAME': '王五'})
df_part1 = df_new[:15] # 先做切片
df_part2 = df_new[15:]
df_new = df_part1.append(new_data, ignore_index=True).append(df_part2).reset_index(drop=True)
print(df_new)
注意不要忘了reset_index(drop=True)
output
15 100 王五
16 16 S16
17 17 S17
18 18 S18
19 19 张三
20 20 李四
21 21 Peter
删除指定行
# 删除指定行
df_new.drop(index=[16, 17, 18], inplace=True)
output
14 15 S15
15 100 王五
19 19 张三
20 20 李四
21 21 Peter
删除指定范围的行
df_new.drop(index=range(16, 19), inplace=True)
网友评论