【Python】Pandas 百科全书(更新中)

字符串转日期

import datetime
datetime.datetime.strptime('2022.01.07', '%Y.%m.%d').date()

日期转字符串

df['出生日期'] = df['出生日期'].apply(lambda x:x.strftime('%Y.%m.%d'))
python中时间日期格式化符号

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00-59)
%S 秒(00-59)
更多

计算年龄函数

def calculate_age(born):
    today = datetime.date.today()
    return today.year - born.year - ((today.month, today.day) < (born.month, born.day))

行操作

1. 删除满足条件的行

# 使用比较符
df_clear = df.drop(df[df['age']<18].index)
df_clear = df.drop(df[(df['age']<18) | (df['age']>65)].index) #删除x小于0.01或大于10的行
#其他方法
#删除 学号=='20210105'的行
df_clear=df1[~df['学号'].isin(['20210105'])]
#删除 学号包含'2021'的行
df_clear=df1[~df['学号'].str.contains('2021')]

2. 相同结构的两张表,直接合并

pd.concat([df_up,df_down])

3.读取若干行

df.loc[3]#读第4行
df.loc[3:6]#读4-7行

列操作

1. 添加列

# 添加一列,计算其值
df['leg'] = df['number'] * 4
# 添加一列,直接赋值
df['head'] = 1

2. 删除列

2.1 作用于本身
del df['age']
2.2 不作用于本身
df2 = df.drop(['age'],axis=1)

此时 df 没变,df2 才是删除列后的结果。

axis的含义(更多):

在这里插入图片描述

2.3 对列使用函数 df.apply()666666666666666666666666666666666666666666666
在这里插入代码片

3.调整列顺序(直接把想要的顺序写在后面)

df = df[['user', 'city']]

4.添加相同值的列

df['性别']='男'

5.取部分列

df['price']  #取单列
sd[['price','name']] #取多列:注意里面list列表,不然会报错误
df=pd.read_table('文件路径',index_col=0,usecols=[0, 1])#指定读取第一列、第二列

创建一个空的DataFrame(数据帧)

pd.DataFrame(columns=['A', 'B', 'C'], index=[0,1,2])

索引重排(删除原索引,新增0 1 2 3 …)

df.reset_index(drop=True)

drop=False时,保留原索引。

让索引从 1 开始
 df_clear.index=df_clear.index+1

pandas.Dataframe转字典

da1 = df.to_dict(orient='records')
da2 = df.to_json(orient='records')

排序

dfs.sort_values("出版年",inplace=True,ascending=False)#根据“出版年”这一列,从大到小排序    #True(升)/False(降)

指定表头

df.columns=['AAA','BBB','CCC']#指定表头
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值