数据结构¶
通用术语对比¶
| pandas | Excel |
|---|---|
| DataFrame | 工作表 |
| Series | 列 |
| Index | 索引 |
| row | 行 |
| NaN | 空值 |
DataFrame¶
pandas 中的 dataframe 类似于Excel 工作表。虽然一个 Excel 工作簿可以包含多个工作表,但通常情况下 pandas.DataFrame是独立存在的。
Series¶
Series是表示 DataFrame一列的数据结构。使用 Series 类似于引用电子表格中的一列。
Index¶
每个 DataFrame 和 Series 都有一个 Index,它是数据行的标签。在pandas中,如果没有指定索引,则默认使用RangeIndex(第一行= 0,第二行= 1,等等),类似于电子表格中的行标题/数字。
在 pandas 中,索引可以设置为一个(或多个)惟一值,这就像在工作表中有一列用作行标识符一样。与大多数电子表格不同,这些Index值实际上可以用来引用行。(注意,这可以在Excel的结构化引用中完成。)例如,在电子表格中,您可以引用第一行为 A1:Z1,而在 pandas 中,您可以使用population .loc[‘Chicago’]。
常见操作对比¶
为了更方便介绍 Pandas 相关功能,方便长期使用 Excel 进行数据分析的用户学习,下面是常见操作的 Excel 与 Pandas 实现对比。
1 - 数据读取¶
Excel¶
Pandas¶
Pandas支持读取本地Excel、txt文件,也支持从网页直接读取表格数据,只用一行代码即可,例如读取上述本地Excel数据可以使用pd.read_excel(“示例数据.xlsx”)
import pandas as pd # 读取的是从第二行数据开始的print(pd.read_excel("示例数据.xlsx")) #将示例数据.xlsx放在该Notebook同一文件夹下>>>时间 日期 姓名0 2 2 31 3 4 5
2 - 数据生成¶
Excel¶
以生成10*2的0—1均匀分布随机数矩阵为例,在Excel中需要使用rand()函数生成随机数,并手动拉取指定范围
Pandas¶
在Pandas中可以结合NumPy生成由指定随机数(均匀分布、正态分布等)生成的矩阵,例如同样生成10*2的0—1均匀分布随机数矩阵为,使用一行代码即可:pd.DataFrame(np.random.rand(10,2))
import numpy as npdf = pd.DataFrame(np.random.rand(10,2))print(df)>>>0 10 0.319400 0.0229761 0.446149 0.9993422 0.360090 0.8335423 0.841949 0.6635914 0.835494 0.9778445 0.306999 0.4612316 0.827034 0.1360407 0.665923 0.9026598 0.849979 0.2133089 0.581816 0.001081
Excel¶
Pandas¶
在Pandas中可以使用pd.to_excel(“filename.xlsx”)来将当前工作表格保存至当前目录下,当然也可以使用to_csv保存为csv等其他格式,也可以使用绝对路径来指定保存位置
data.to_excel("测试数据.xlsx")
