微信公众号:Python 集中营
简单的事情重复做,重复的事情坚持做,坚持的事情用心做;
你的肯定是我坚持的动力,如果这篇文章对你有帮助,点个关注吧!
相关扩展库
1# -*- coding: UTF-8 -*-
2
3import pandas as pd
4
5
6data_dict = {'first_col': [1, 2, 3, 4], 'second_col': [5, 6, 7, 8]}
7
8df = pd.DataFrame(data_dict)
数据修改
1import numpy as np
2
3# 转换某一列的数据类型
4
5df['first_col']=pd.DataFrame(df['first_col'],dtype=np.float32)
6
7# 重新定义列名
8
9df.columns = ['first_col_1','second_col_1']
10
11print(df)
12
13# 修改部分列名
14
15df.rename(columns = {'first_col_1':'first_col_2','second_col_1':'second_col_2'},inplace = True)
16
17print(df)
18
19# 按照某个或多个字段排序,ascending = False为降序、ascending = True为升序
20
21df = df.sort_values(by=['first_col_2','second_col_2'],ascending = False)
22
23print(df)
24
25# 按照索引排序,ascending = False为降序、ascending = True为升序
26
27df = df.sort_index(axis = 0,ascending = True)
28
29print(df)
30
31# 按数据位置修改数据,如下将第二行、第二列数据修改为9
32
33df.iloc[1,1] = 9
34
35print(df)
36
37# 现有列计算生成新的列
38
39df['third_col_2'] = df['first_col_2'] + df['second_col_2']
40
41# first_col_2 second_col_2 third_col_2
42# 0 1.0 5 6.0
43# 1 2.0 9 11.0
44# 2 3.0 7 10.0
45# 3 4.0 8 12.0
索引设置
1# 重新设置索引
2
3df['index']=range(len(df['first_col']))
4
5df.set_index(df['index'])
6
7print(df)
8
9# 设置日期为索引,定义日期范围:start开始日期、periods数据行数
10
11date = pd.date_range(start='1/1/2021',periods=len(df['first_col']))
12
13df = df.set_index(date)
14
15print(df)
数据连接与组合
1# 定义两个DataFrame数据
2
3df1 = pd.DataFrame(data_dict)
4
5df2 = pd.DataFrame(data_dict)
6
7# concat() 函数连接,axis=0表示当两个数据对象连接时存在不同的列不会生成新的列,axis=1表示会生成新的列
8
9df3=pd.concat([df1,df2],axis=0)
10
11print(df3)
12
13# 扩展函数append() 向df1中添加df2中的所有行、最后赋值给df3
14
15df3 = df1.append(df2.loc[:])
16
17print(df3)
DataFrame输出
1# excel保存
2
3df.to_excel('/usr/data.xls')
4
5# csv 保存
6
7df.to_csv('/usr/data.csv')
8
9# 输出字典形式
10
11dict_ = df.to_dict(orient="dict")
12
13print(dict_)
更多精彩前往微信公众号【Python 集中营】,专注于 python 技术栈,资料获取、交流社区、干货分享,期待你的加入~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。