跳转至

技术文档

Pandas 处理 Excel 常用方法技巧

在使用 Pandas 前需要学习了解一下 Series 和 DataFrame 的基本数据结构和索引的相关概念,之后就可以练习基本的 Excel操作。Pandas 读取一个 Excel 文件后会将其转化为 DataFrame 对象,每一列或行就是一个 Series 对象。这里我们看下如何对一个 excel 进行读写,以及 Sheet、行列、表头处理的一些常用技巧。

读取 Excel

如果您想读取 Excel 表格中的数据,可以使用 read_excel() 方法,其语法格式如下:

pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None,
              usecols=None, squeeze=False,dtype=None, engine=None,
              converters=None, true_values=None, false_values=None,
              skiprows=None, nrows=None, na_values=None, parse_dates=False,
              date_parser=None, thousands=None, comment=None, skipfooter=0,
              convert_float=True, **kwds)

单行 Python 代码片段

Via:https://muhammadraza.me/2023/python-oneliners

我已经沉浸在 Python 编程世界大约三年了。在这段时间里,我开始欣赏这种多功能语言的优雅和强大。在这篇既有趣又具有教育意义的文章中,我将展示一系列单行 Python 代码片段。无论您是经验丰富的开发人员还是初学者,这些简洁的代码行都可以让您深入了解 Python 的简单性和有效性,它们展示一行代码如何完成在其他语言中可能需要几行代码才能完成的任务。

Python3 编译安装 –with-openssl 无效的问题

很多人在使用 Python3 经常会遇到一些 openssl 版本太低从而导致包无法正常使用的问题,尤其是 urllib3 这个包。

Python 3.9.18 (main, Sep  7 2023, 14:32:17) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/software/python-3.9.18/lib/python3.9/site-packages/requests/__init__.py", line 43, in <module>
    import urllib3
  File "/usr/local/software/python-3.9.18/lib/python3.9/site-packages/urllib3/__init__.py", line 41, in <module>
    raise ImportError(
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips  26 Jan 2017'. See: https://github.com/urllib3/urllib3/issues/2168
>>> import ssl
>>> import urllib3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/software/python-3.9.18/lib/python3.9/site-packages/urllib3/__init__.py", line 41, in <module>
    raise ImportError(
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips  26 Jan 2017'. See: https://github.com/urllib3/urllib3/issues/2168

不同版本服务器间 SSH 免密码登录失败

今天从服务器 A(CentOS 7.3)配置 SSH 无密码登录服务器 B(CentOS Steam 9),发现执行以下常规操作后无法实现:

$ ssh-keygen
$ ssh-copy-id -i ~/.ssh/id_rsa.pub shenweiyan@66.xx.xx.xx  # ssh-copy-id user@rhel-9-server-IP
$ ssh shenweiyan@66.xx.xx.xx
ssh-keygen-need-passwd

Micro/Mamba 安装与注意事项

记录一下 Micromamba/Mamba 安装的步骤和注意事项。

Mamba 安装

Mamba 可以使用 Mambaforge 方法和已有 Mini/conda 的方式安装,官方推荐的是前面一种,即使用 Mambaforge 进行全新安装。

全新安装

关于 mamba 的安装,官方推荐 Fresh install,即全新安装。

We recommend that you start with the Mambaforge distribution. Mambaforge comes with the popular conda-forge channel preconfigured, but you can modify the configuration to use any channel you like. Note that Anaconda channels are generally incompatible with conda-forge, so you should not mix them.
我们建议您从 Mambaforge 发行版开始。 Mambaforge 预配置了流行的 conda-forge 通道,但您可以修改配置以使用您喜欢的任何通道。请注意,Anaconda 通道通常与 conda-forge 不兼容,因此您不应混合使用它们。

NCBI API 使用

参考:https://www.ncbi.nlm.nih.gov/books/NBK25499/

This chapter serves as a reference for all supported parameters for the E-utilities, along with accepted values and usage guidelines. This information is provided for each E-utility in sections below, and parameters and/or values specific to particular databases are discussed within each section. Most E-utilities have a set of parameters that are required for any call, in addition to several additional optional parameters that extend the tool’s functionality. These two sets of parameters are discussed separately in each section.

Python 中 tkinter 源码安装使用与中文乱码

主要是因为下面这两个原因,所以决定从源码编译安装去折腾一下 tkinter,以下是一些记录。

_tkinter not found

Python 3 源码编译安装,执行 make 过程中提示 _tkinter not found,如下:

$ make
......
Python build finished successfully!
The necessary bits to build these optional modules were not found:
_tkinter 

Python3 源码安装

编程,作为生物信息学的一个基础性技能,是任何一个生信工程师都无法绕开话题。也许有些人还在纠结 Perl 和 Python 到底应该学习哪一个,但作为目前最火最流行的编程语言 Python 还是非常值得尝试的。它不但可以进行文本处理,在统计、网站、游戏、爬虫、数据可视化等方面也有非常强大的应用,比起曾经的 Perl 真的强大和全面很多,且比 Perl 更容易入手。不管从长远发展,还是短期需要,学会 Python,看懂 Perl (或者先学   Python,后学 Perl) 应该是每一个生信工程必备的基础技能之一。

工欲善其事,必先利其器。关于 Python 安装教程在网上一搜一大把,但总感觉不够全面,尤其对于中间出现的一些问题的解决方法不尽如人意。鉴于此,本文基于  CentOS/RHEL Linux 对 Python 的源码编译安装进行了一下简单的总结,记录如下。