pandas数据分析 | pandas.DataFrame数据修改、索引设置、数据组合

微信公众号: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 技术栈,资料获取、交流社区、干货分享,期待你的加入~

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python 集中营

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值