pandas常用功能手册

pandas常用功能手册(自用)


前言

pandas常用功能手册(自用)

pandas常用功能手册(自用),持续更新


一、创建

多个数组>>dateframe

pd_before = pd.DataFrame()
pd_before['new_x'] = new_x
pd_before['new_y'] = new_y
pd_before['new_plabel'] = new_plabel
pd_before['new_pinfo'] = new_pinfo

增加一列

df_info_simple['drug'] = drug_new_list

二、读取数据

读excel

df_drug_gene = pd.read_excel('../F1A-drug-go.xlsx', header = 0)  # header = 0 带列名数据

三、常用操作

取数据

已知列名,取指定列

df_drug_gene = df_drug_gene[['drug', 'gene']]

已知序号,取指定列

df.iloc[:, n]
# 取第1行
print(df.iloc[0])
# 取前10行
print(df.iloc[:10])
# 取第1列
print(df.iloc[:, 0])
# 取前10列
print(df.iloc[:, :10])

随机取n行

pd_data_neg = pd_data.sample(n=pd_data_pos.shape[0])

合并

pd_data_train = pd.concat([pd_data_pos, pd_data_neg]) # 上下
pd_result_2 = pd.concat([pd_result_1, df_drug], axis=1) # 左右

循环读取数据+tqdm进度条

for index, row in tqdm(df.iterrows(), total=df.shape[0]):
	row[1] == 1

查询数据

#满足条件的行
df.loc[df['A']=='A']
#也可以取满足条件范围的行
df.loc[df['B'] > 6]
data.iloc[:10,:]
# 存在某个字段
df[df['A'].isin(['A'])]
df_KGID_icd = df_KGID_icd[df_KGID_icd['source'].str.contains('Clinical', na=False)]
# 删除异常值所在行
df = df[True^df[列名].isin([异常值])] # 完全一致
df = df.drop(df[df['name'].str.contains(pat='未', regex=False)].index,
                  )  # 包含某个字符 regex=True则pat是一个正则表达式,regex=False表示pat是一个字符串
# 删除长度过长的  按空格拆分值
df = df[df['name'].str.len()<=8]


# 查找特定条件下的行索引
index = df[df.A == 'A'].index.tolist()[0]  

menrge拼接

左拼接对齐

pd_result_1 = pd.merge(df_drug_gene, df_symmap_info, left_on = 'gene',  right_on = 'Gene_symbol', how = 'left')

修改列名

df_pw_Enrichment_result2.rename(columns={"go": "pw", "name": "pw_name"}, inplace=True)

分组

dict_id_drug = df_drug.groupby('ID').drug.apply(list).to_dict()

去重

df_new = pd_before.drop_duplicates(
        subset = ['new_x', 'new_y'],  # 去重列,按这些列进行去重
        keep = 'first'  # 保存第一条重复数据
    )

去除某列空值

df_book = df_book.dropna(subset=['content_id'])

四、保存文件

输出excel

pd_result_2.to_excel('../result/drug-gene.xlsx', index = False) # index = False 不保存列名

输出csv

注意中文乱码问题

pd_result_2.to_csv('../result/drug-gene.csv', index = False, encoding='utf_8_sig')  

是否存在文件夹,没有则创建

import os
if not os.path.exists(save_path_dir):
    os.makedirs(save_path_dir)

总结

提示:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值