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

循环读取数据+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'])]

# 查找特定条件下的行索引
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提供了大量能使我们快速便捷地处理数据的函数和方法。

猜你喜欢

转载自blog.csdn.net/qq_37386752/article/details/123976900