字符串转日期
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的含义(更多 ):
; 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/
转载文章受原作者版权保护。转载请注明原作者出处!