03、Dataframe相关操作
Dataframe相关操作:
1.数据索引
1.数据切片,行索引,列索引名称去切
构建数据
columns = ['姓名', '年龄', '班级', '电话号码', '学号', '性别']
data = [['码云', 40, 101, '1123131123321', '001', 1], ['李佳乘', 80, 101, '13123213321', '002', 1],
['麻花腾', 40, 101, '1123131123321', '003', 1]]
df = pd.DataFrame(columns=columns, data=data)
1.单列
# 单列
print(df['姓名'])
# 执行结果
0 码云
1 李佳乘
2 麻花腾
Name: 姓名, dtype: object
2.多列
print(df[['姓名','年龄','班级']])
#结果
姓名 年龄 班级
0 码云 40 101
1 李佳乘 80 101
2 麻花腾 40 101
3.行列切片
# 行列切片
print(df[['姓名','年龄']][:2])
# 执行结果
姓名 年龄
0 码云 40
1 李佳乘 80
2.灵活查询
.loc[行索引名称|条件,列索引名称] 前闭后闭区间
print(df.loc[:1, ['姓名', '年龄']])
# 结果
姓名 年龄
0 码云 40
1 李佳乘 80
.iloc[行位置索引,列位置索引]
print(df.iloc[:1, [0,1]])
# 结果
姓名 年龄
0 码云 40
条件,
print(df.loc[df['年龄']>18,['姓名','年龄']])
#
姓名 年龄
0 码云 40
1 李佳乘 80
2 麻花腾 40
逻辑与操作 &
print(df.loc[(df['年龄']>18) & (df['班级']== 101),['姓名','年龄']])
#
姓名 年龄
0 码云 40
1 李佳乘 80
2 麻花腾 40
逻辑或操作 |
print(df.loc[(df['年龄']>18) | (df['班级']== 101),['姓名','年龄']])
#
姓名 年龄
0 码云 40
1 李佳乘 80
2 麻花腾 40
3.更改数据
df.loc[df['姓名'] =='码云','年龄'] = 19
print(df)
#
姓名 年龄 班级 电话号码 学号 性别
0 码云 19 101 1123131123321 001 1
1 李佳乘 80 101 13123213321 002 1
2 麻花腾 40 101 1123131123321 003 1
4.添加数据
df['年纪'] = pd.Series(['中年', '老年', '中年'])
print(df)
#
姓名 年龄 班级 电话号码 学号 性别 年纪
0 码云 40 101 1123131123321 001 1 中年
1 李佳乘 80 101 13123213321 002 1 老年
2 麻花腾 40 101 1123131123321 003 1 中年
5.删除数据
# 删除第0行
df.drop(labels=0,axis=0,inplace=True)
print(df)
#
姓名 年龄 班级 电话号码 学号 性别
1 李佳乘 80 101 13123213321 002 1
2 麻花腾 40 101 1123131123321 003 1
#删除列
df.drop(labels=['学号'],axis=1,inplace=True)
print(df)
#
姓名 年龄 班级 电话号码 性别
0 码云 40 101 1123131123321 1
1 李佳乘 80 101 13123213321 1
2 麻花腾 40 101 1123131123321 1
6.head()
从头获取几个样本 默认值为5
print(df.head(2))
#
姓名 年龄 班级 电话号码 学号 性别
0 码云 40 101 1123131123321 001 1
1 李佳乘 80 101 13123213321 002 1
7.tail()
获取最后几个样本
print(df.tail(1))
#
姓名 年龄 班级 电话号码 学号 性别
2 麻花腾 40 101 1123131123321 003 1