【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)

df_clear=df1[~df['学号'].isin(['20210105'])]

df_clear=df1[~df['学号'].str.contains('2021')]

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

pd.concat([df_up,df_down])

3.读取若干行

df.loc[3]
df.loc[3:6]

列操作

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的含义(更多 ):

【Python】Pandas 百科全书(更新中)
; 2.3 对列使用函数 df.apply() 666666666666666666666666666666666666666666666
在这里插入代码片

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

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

4.添加相同值的列

df['性别']='男'

5.取部分列

df['price']
sd[['price','name']]
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)

指定表头

df.columns=['AAA','BBB','CCC']

Original: https://blog.csdn.net/KinglakeINC/article/details/122802916
Author: Kinglake_W
Title: 【Python】Pandas 百科全书(更新中)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/738229/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球