W
e
l
c
o
m
e
: )

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
posted @ 2020-03-10 21:39  水一RAR  阅读(112)  评论(0编辑  收藏  举报