pandas的一些小知识

1.获得行名和列名

data._stat_axis.values.tolist()  # 输出行名并转化为列表
data.columns.values.tolist() # 输出列名并转化为列表

2.获得行数和列数

data.shape # 行数和列数
data.shape[0] # 行数
data.shape[1] # 列数

3.第一列作为行名

data = pd.read_csv('1.csv', sep = ',', index_col=0)

4.数据框合并

pd.merge(data1, data2, on='key') # 合并两个data,用key这一列合并,不提供则自动检索

5.数据排序

data.sort_values(by='key') # 按照某一列排序,也可按照几列

6.计算汇总

data.sum(axis=1) # 按行求和
data.mean(axis=1) # 按行求平均
data.sum(axis=0)  # 按列求和
data.describe() # 汇总统计 平均 分位数等

最后一行汇总会输出:

describe

7.数据缺失的处理

data.dropna() # 如果有NA就删掉
data.dropna(how='all',axis=1)  # 当所有均为NA时才删掉,指定删掉的轴

8.构建和查询数据

data = {'first':[1,2,3], 'second':[4,5,6]}
data = pf.DataFrame(data)

输出:

data

查询操作:

data['first'] # 按名称取列
data[['first', 'second']] # 按名称取出两列
data.loc[0] # loc取第一行
data.iloc[:,0] # iloc取第一列
data.iloc[0, :] # iloc取第一行
data.iloc[[0,2],:] 取第一列和第三列

筛选操作:

data[data['first']>=2]  # 输出第一列中数据大于等于2的数据

9.数据框重新索引

data.reindex([2,3,4])

欢迎各位关注微信公众号生信编程日常~ 共同进步!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基因芯片分析流程

    读取array数据首先确定一下测序平台和数据系列,然后用相应的包读取基因表达芯片数据-CEL格式文件并处理成表达矩阵。 affy包(Affymetrix 平台...

    生信编程日常
  • seurat包分析多组对比单细胞数据

    生信编程日常
  • Seaborn入门(一): 实现Boxplot

    与之相关的函数seaborn.boxplot的具体参数为: seaborn.boxplot(x=None, y=None, hue=None, data=No...

    生信编程日常
  • 使用脚手架应用做单元测试

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    Jerry Wang
  • R分类算法-Logistic回归算法

    逻辑回归 Logistic Regression 所谓LR,就是一个被Logistic方程归一化后的线性回归,可以将非线性的问题转化为线性问题。 优点: ...

    Erin
  • C++ string实现

    作为C++从业者,我相信都会被考察过实现简单的string类,包括构造、析构、拷贝构造以及赋值拷贝等,因为这能够很好的考察面试者的C++基本功。借看《剑指off...

    evenleo
  • R语言绘制三线表

    在进行文章的撰写时,总是少不了一些表格的绘制,当然最标准的表格就是三线表了。我一般用word绘制三线表,但是R语言也可以且比较省时间。

    用户1359560
  • WordPress发布/更新文章、提交/审核评论自动清理VeryCloud缓存

    上一篇文章分享了WordPress 发布文章评论自动刷新腾讯云 CDN 的教程,而博客现在还用到了 VeryCloud 的 CDN,正好有朋友在文章后面留言说 ...

    张戈
  • Python_冒泡排序

    从小到大的排序:(最前面的数和一步步和后面的数比较,如果大于则交换,如果不大于则继续循环)

    py3study
  • [半zz]迅雷笔试题

    用户1130771

扫码关注云+社区

领取腾讯云代金券