来源:Pandas中文网 本节旨在演示如何在 pandas 中做各种类似Stata的操作。 按照惯例,我们按如下方式导入 pandas 和 NumPy: # 计量经济学服务中心 import pandas as pd import numpy as np 在Python教程中,DataFrame将通过调用显示pandas df.head(),它将显示该行的前N行(默认为5行)DataFrame。 这通常用于交互式工作(例如Jupyter笔记本或终端),而Stata中的等价物将是:list in 1/5 1、数据结构一般术语对照表DataFrame/ Series pandas 中的 DataFrame 类似于 Stata 数据集-具有不同类型的标记列的二维数据源。如本文所示,几乎任何可以应用于Stata中的数据集的操作也可以在 pandas 中完成。 Series 是表示DataFrame的一列的数据结构。Stata 对于单个列没有单独的数据结构,但是通常,使用 Series 类似于引用Stata中的数据集的列。 Index 每个 DataFrame 和 Series 在数据 行 上都有一个叫 Index-label 的标签。在 Stata 中没有相似的概念。 在Stata中,数据集的行基本上是无标签的,除了可以用 _n 访问的隐式整数索引。在pandas中,如果未指定索引,则默认情况下也使用整数索引(第一行= 0,第二行= 1,依此类推)。虽然使用标记Index或 MultiIndex可以启用复杂的分析,并且最终是 pandas 理解的重要部分,但是对于这种比较,我们基本上会忽略它, Index并且只是将其DataFrame视为列的集合。 2、数据输入/输出从价值观构建数据帧通过将数据放在
pandas 的 3、读取外部数据与Stata一样,pandas提供了从多种格式读取数据的实用程序。 Stata提供将csv数据读入内存中的数据集。如果文件在当前工作目录中,我们可以按如下方式导入它。 import delimited tips.csv pandas 方法是 比如,可以使用许多参数来指定数据应该如何解析。例如,如果数据是由制表符分隔的,没有列名,并且存在于当前工作目录中,则pandas命令将为:
pandas 还可以用于 df = pd.read_stata('data.dta') 除了text / csv和Stata文件之外,pandas还支持各种其他数据格式,如Excel,SAS,HDF5,Parquet和SQL数据库。这些都是通过 4、导出数据stata 中
类似地,在 pandas 中, tips.to_csv('tips2.csv') pandas 还可以使用
5、数据操作 列上的操作在Stata中,任意数学表达式可以与新列或现有列上的 replace total_bill = total_bill - 2 generate new_bill = total_bill / 2 drop new_bill pandas 通过指定个体提供了类似的矢量化操作
在Stata中过滤是通过
DataFrame可以通过多种方式进行过滤; 最直观的是使用 布尔索引 tips[tips['total_bill'] > 10].head() 如果/那么逻辑在Stata中,
使用 tips['bucket'] = np.where(tips['total_bill'] < 10, 'low', 'high') tips.head()
Out: total_bill tip sex smoker day time size bucket 0 14.99 1.01 Female No Sun Dinner 2 high 1 8.34 1.66 Male No Sun Dinner 3 low 2 19.01 3.50 Male No Sun Dinner 3 high 3 21.68 3.31 Male No Sun Dinner 2 high 4 22.59 3.61 Female No Sun Dinner 4 high 列的选择Stata 提供了选择,删除和重命名列的关键字。
按值排序 Stata中的排序是通过 sort sex total_bill pandas 对象有一个
|
|