查看原文
其他

【Python-数据科学】Pandas Basics速查表(2023)

数据应用学院 大数据应用 2023-08-17

今日份知识你摄入了么?

Pandas library是Python中最强大有效的library之一。它基于NumPy构建,为 Python编程语言提供了易于使用的数据结构和数据分析工具。


查看下面的内容,了解Pandas提供的各种功能和工具。


  1. Pandas数据结构

  2. 删除

  3. 排序&排名

  4. 检索Series/DataFrame信息

  5. Dataframe统计

  6. 查询

  7. 函数应用

  8. 数据对齐

  9. 输入/输出


来自Johannes Groll发布于Unsplash





Pandas数据结构


Pandas library主要围绕两种类型的数据结构。第一个是称为Series的一维数组,第二个是称为Data Frame的二维表。


  • Series:一维标记数组


>>> s = pd.Series([3, -5, 7, 4], index = ['a','b','c','d']) a    3 b   -5 c    7 d    4


  • Data Frame:二维标记数据结构

>>> data = {'Country':['Belgium','India','Brazil'], 'Capital':['Brussels','New Delhi','Brasilia'], 'Population':['111907','1303021','208476']}>>> df = pd.DataFrame(data, columns = ['Country','Capital','Population'])   Country    Capital Population0  Belgium   Brussels     1119071    India  New Delhi    13030212   Brazil   Brasilia     208476





删除


在这一部分,你将学习如何从一个Series中删除特定值,以及如何从一个Data Frame中删除列或行。


下面是代码中的s和df在这一部分用作Series和Data Frame的示例。


>>> sa    6b   -5c    7d    4>>> df   Country    Capital  Population0  Belgium   Brussels      1119071    India  New Delhi     13030212   Brazil   Brasilia      208476l ·Drop values from rows (axis = 0)>>> s.drop(['a','c']) b   -5d    4l ·Drop values from columns (axis = 1)>>> df.drop('Country', axis = 1)    Capital Population0   Brussels     1119071  New Delhi    13030212   Brasilia     208476





排序&排名


在这一部分,你将学习如何按索引或列对一个Data Frames进行排序,以及如何对列值进行排名。


下面是代码中的df在这一部分用作Data Frame的示例。


>>> df      Country    Capital  Population0  Belgium   Brussels      1119071    India  New Delhi     13030212   Brazil   Brasilia      208476l ·Sort by labels along an axis>>> df.sort_index()   Country    Capital Population0  Belgium   Brussels     1119071    India  New Delhi    13030212   Brazil   Brasilia     208476l ·Sort by values along an axis>>> df.sort_values(by = 'Country')   Country    Capital Population0  Belgium   Brussels     1119072   Brazil   Brasilia     2084761    India  New Delhi    1303021l ·Assign ranks to entries>>> df.rank()   Country  Capital  Population0      1.0      2.0         1.01      3.0      3.0         2.02      2.0      1.0         3.0





检索Series/DataFrame信息


在这一部分,你将学习如何从一个Data Frame中检索信息,该Data Frame包括维度、列命名、列类型和索引范围。


下面是代码中的df在这一部分用作Data Frame的示例。


>>> df   Country    Capital  Population0  Belgium   Brussels      1119071    India  New Delhi     13030212   Brazil   Brasilia      208476l ·(rows, columns)>>> df.shape (3, 3)l ·Describe index>>> df.index RangeIndex(start=0, stop=3, step=1)l ·Describe DataFrame columns>>> df.columns Index(['Country', 'Capital', 'Population'], dtype='object')l ·Info on DataFrame>>> df.info()RangeIndex: 3 entries, 0 to 2Data columns (total 3 columns):Country       3 non-null objectCapital       3 non-null objectPopulation    3 non-null objectdtypes: object(3)memory usage: 152.0+ bytesl ·Number of non-NA values>>> df.count()Country       3Capital       3Population    3





Dataframe统计


在这一部分,你将学习如何检索一个Data Frame的统计信息,其中包括每列的总和、每列的最小/最大值、每列的平均值等。


下面是代码中的df在这一部分用作Data Frame的示例。


>>> df   Even  Odd0     2    11     4    32     6    5l ·Sum of values>>> df.sum()Even    12Odd      9l ·Cumulative sum of values>>> df.cumsum()   Even  Odd0     2    11     6    42    12    9l ·Minimum value>>> df.min()Even    2Odd     1l ·Maximum value>>> df.max()Even    6Odd     5l ·Summary statistics>>> df.describe()       Even  Oddcount   3.0  3.0mean    4.0  3.0std     2.0  2.0min     2.0  1.025%     3.0  2.050%     4.0  3.075%     5.0  4.0max     6.0  5.0l ·Mean of values>>> df.mean()Even    4.0Odd     3.0l ·Median of values>>> df.median()Even    4.0Odd     3.0





查询


在这一部分,你将学习如何从一个Series或Data Frame中查询特定值。


下面是代码中的s和df在这一部分用作Series和Data Frame的示例。


>>> sa    6b   -5c    7d    4>>> df      Country    Capital  Population0  Belgium   Brussels      1119071    India  New Delhi     13030212   Brazil   Brasilia      208476l ·Get one element>>> s['b'] -5l ·Get subset of a DataFrame>>> df[1:]  Country    Capital Population1   India  New Delhi    13030212  Brazil   Brasilia     208476l ·Select single value by row & column>>> df.iloc[0,0] 'Belgium'l ·Select single value by row and column labels>>> df.loc[0,'Country'] 'Belgium'l ·Select single row of subset rows>>> df.ix[2]Country         BrazilCapital       BrasiliaPopulation      208476l ·Select a single column of subset of columns>>> df.ix[:,'Capital']0     Brussels1    New Delhi2     Brasilial ·Select rows and columns>>> df.ix[1,'Capital'] 'New Delhi'l ·Use filter to adjust DataFrame>>> df[df['Population'] > 120000]  Country    Capital  Population1   India  New Delhi     13030212  Brazil   Brasilia      208476l ·Set index a of Series s to 6>>> s['a'] = 6 a    6 b   -5 c    7 d    4





函数应用


在这一部分,你将学习如何将函数应用于一个Data Frame或一个特定列的所有值。


下面是代码中的df在这一部分用作Data Frame的示例。


>>> df   Even  Odd0     2    11     4    32     6    5l ·Apply function>>> df.apply(lambda x: x*2)   Even  Odd0     4    21     8    62    12   10





数据对齐


在这一部分,你将学习如何对具有不同索引的两个Series进行加、减和除。


下面是代码中的s和s3在这一部分用作Series的示例。


>>> sa    6b   -5c    7d    4>>> s3a    7c   -2d    3l ·Internal Data Alignment>>> s + s3a    13.0b     NaNc     5.0d     7.0#NA values are introduced in the indices that don't overlapl ·Arithmetic Operations with Fill Methods>>> s.add(s3, fill_value = 0)a    13.0b    -5.0c     5.0d     7.0>>> s.sub(s3, fill_value = 2)a   -1.0b   -7.0c    9.0d    1.0>>> s.div(s3, fill_value = 4)a    0.857143b   -1.250000c   -3.500000d    1.333333





输入/输出


在这一部分,你将学习如何使用Pandas将CSV文件、Excel文件和SQL查询读入Python。你还将学习如何将一个Data Frame从Pandas导出为CSV文件、Excel文件和SQL查询。


  • Read CSV file


>>> pd.read_csv('file.csv')


  • Write to CSV file


>>> df.to_csv('myDataFrame.csv')


  • Read Excel file


>>> pd.read_excel('file.xlsx')


  • Write to Excel file


>>> pd.to_excel('dir/'myDataFrame.xlsx')


  • Read multiple sheets from the same file


>>> xlsx = pd.ExcelFile('file.xls')>>> df = pd.read_excel(xlsx, Sheet1')


  • Read SQL Query


>>> from sqlalchemy import create_engine>>> engine = create_engine('sqlite:///:memory:')>>> pd.read_sql('SELECT * FROM my_table;', engine)>>> pd.read_sql_table('my_table', engine)


  • Write to SQL Query


>>> pd.to_sql('myDF', engine)





结语


不管是在当前还是在可预见的未来,Python都是数据科学领域的佼佼者。了解 作为最强大有效的library之一的Pandas,通常是当今数据科学家的必备条件。


在初学时使用这个速查表作为指南,你将很好地掌握Pandas library。

原文作者:Zita

翻译作者:高佑兮

美工编辑:过儿

校对审稿:Chuang

原文链接:https://levelup.gitconnected.com/pandas-basics-cheat-sheet-2023-python-for-data-science-b59fb7786b4d


本周公开课预告


往期精彩回顾

如何为你的数据可视化找到正确的色板?

2022 年科学家必须知道的顶级MLOps工具数据

如何成为全栈数据科学家?

Kumu的ML工程:将模型转化为产品

如何用Pandas重写SQL查询语句?






点「在看」的人都变好看了哦

点击“阅读原文”查看数据应用学院核心课程

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存