六、pandas模块:(18-02)基础知识

import pandas as pd
df = pd.DataFrame(pd.read_csv("C483CEC010_PTM_20190416.csv"))
df.head()#默认读取前五行,df.head(3)读取前三行
df.tail()#默认读取最后五行,df.tail(2)读取最后2行
df.columns.tolist()#读取所有列,并形成list,注意一定需要一个括号,才会形成列表
df.columns.tolist
df.columns#注意上述三者的表达方式,和结果
df.loc[1]#按照行的label和行的位置取值,此为取第二行,注意是使用中括号[]
df.loc[3:6]#可以切片取值
df.loc[[2,4,6]]#注意可以单独拿出想要的某些行,注意此时需要用到双[],主要是因为[2,4,6]是一个参数,也可以先将此列表赋值给a = [2,4,6],再打印df.loc[a]
df[["Avg MS Area: E","Mono Mass Exp."]]#拿出相应的列,表述方式与上述相同,通过列名来取出列。与columns没有关系了,不能写成df.columns......
exp_list = []
area_list = []
for col in df.columns.tolist():
    if col.endswith("Exp."):#取出以“xxx”结尾的参数,注意单词是endswith
        exp_list.append(col)
    elif col.startswith("Avg MS Area:"):#取出以“xxx”开头的参数,注意单词startswith
        area_list.append(col)
#print(exp_list)
#上述exp_list和area_list可以按照一定的参数将某些列(含有关键字的)名拿出来,然后再调用df即可拿出这些列名的列
df[area_list].head(3)#注意取出列,都是用[],注意取出列是使用列名,与columns没有关系了,不能写成df.columns......
modification = open("modification.txt").read().strip().split()#打开一个txt参数文件,将文件中的文本分开,后续查询下read(),strip(),split()用法,含义
fd = df.loc[(df.Modification.isin(modification)) & (abs(df['Delta (ppm)']) <= 10) & (df['Confidence Score'] >= 80)]
del fd["No."]#del只能一个参数一个参数来筛选?
del fd["Level"]
#for p in fd.columns
#fd1 = fd[fd["Site"].str.contains("E1")]
#fd1.to_csv("fd1.csv")
#filter_data.to_csv("filter_peptide.csv")

'''
df = df.loc[(~df["Modification"].isna()) & (~df['Delta (ppm)'].isna())]#需要么?
df = df.loc[(df.Modification.isin(modification)) & (abs(df['Delta (ppm)']) <= 10) & (df['Confidence Score'] >= 80)]

for m in df["Modification"]:
    for s in df["Site"]:
        df = df.loc[(~df["Modification"].isna()) & (~df['Delta (ppm)'].isna())]
        df = df.loc[
            (df.Modification.isin(modification)) & (abs(df['Delta (ppm)']) <= 10) & (df['Confidence Score'] >= 80)]
'''

你可能感兴趣的:(python学习笔记,python)