当前位置:首页 > > AI科技大本营
[导读]作者|俊欣来源| 关于数据分析与可视化今天小编来分享在pandas当中经常会被用到的方法,篇幅可能有点长但是提供的都是干货,读者朋友们看完之后也可以点赞收藏,相信会对大家有所帮助,大致本文会讲述这些内容DataFrame初印象读取表格型数据筛选出特定的行用pandas来绘图在Da...

干货!整理了50个 Pandas 高频使用技巧,强烈建议收藏!

作者 | 俊欣

来源 | 关于数据分析与可视化

今天小编来分享在pandas当中经常会被用到的方法,篇幅可能有点长但是提供的都是干货,读者朋友们看完之后也可以点赞收藏,相信会对大家有所帮助,大致本文会讲述这些内容

  • DataFrame初印象
  • 读取表格型数据
  • 筛选出特定的行
  • pandas来绘图
  • 在DataFrame中新增行与列
  • DataFrame中的统计分析与计算
  • DataFrame中排序问题
  • 合并多个表格
  • 时序问题的处理
  • 字符串类型数据的处理

DataFrame初印象

我们先来通过Python当中的字典类型来创建一个DataFrame,import pandas as pd

data = {"Country": ["Canada""USA""UK"],
        "Population": [10.52*10**6, 350.1*10**6, 65.2*10**6]
       }
df = pd.DataFrame(data)

df
当你通过Python当中的字典来创建DataFrame,字典当中的keys会被当做是列名,而values则是表格当中的值  Country   Population
0  Canada   10520000.0
1     USA  350100000.0
2      UK   65200000.0
要是我们要获取当中的某一列,我们可以这么来做df["Country"]
output0    Portugal
1         USA
2      France
Name: Country, dtype: object
而当我们想要获取表格当中每一列的数据格式的时候,可以这么做df.dtypes
outputCountry        object
Population    float64
dtype: object

读取数据

Pandas当中有特定的模块可以来读取数据,要是读取的文件是csv格式,我们可以这么来做import pandas as pd
df = pd.read_csv("titanic.csv")
我们要是想要查看表格的前面几行,可以这么做df.head(7)
output   PassengerId  Survived  Pclass  ...     Fare Cabin  Embarked
0            1         0       3  ...   7.2500   NaN         S
1            2         1       1  ...  71.2833   C85         C
2            3         1       3  ...   7.9250   NaN         S
3            4         1       1  ...  53.1000  C123         S
4            5         0       3  ...   8.0500   NaN         S
5            6         0       3  ...   8.4583   NaN         Q
6            7         0       1  ...  51.8625   E46         S
这里我们只是展示了前面7行的数据,当然我们也可以使用tail()方法来展示末尾的若干行的数据df.tail(7)
output     PassengerId  Survived  Pclass  ...    Fare Cabin  Embarked
884          885         0       3  ...   7.050   NaN         S
885          886         0       3  ...  29.125   NaN         Q
886          887         0       2  ...  13.000   NaN         S
887          888         1       1  ...  30.000   B42         S
888          889         0       3  ...  23.450   NaN         S
889          890         1       1  ...  30.000  C148         C
890          891         0       3  ...   7.750   NaN         Q
要是遇到文件的格式是excel格式,pandas当中也有相对应的方法df = pd.read_excel("titanic.xlsx")
可以通过pandas当中的info()方法来获取对表格数据的一个初步的印象df.info()
output'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
 #   Column       Non-Null Count  Dtype  
---  ------       --------------  -----  
 0   PassengerId  891 non-null    int64  
 1   Survived     891 non-null    int64  
 2   Pclass       891 non-null    int64  
 3   Name         891 non-null    object 
 4   Sex          891 non-null    object 
 5   Age          714 non-null    float64
 6   SibSp        891 non-null    int64  
 7   Parch        891 non-null    int64  
 8   Ticket       891 non-null    object 
 9   Fare         891 non-null    float64
 10  Cabin        204 non-null    object 
 11  Embarked     889 non-null    object 
dtypes: float64(2), int64(5), object(5)
memory usage: 83.7  KB
我们可以从上面的信息中看到例如哪些列可能存在一些空值,每一列的数据类型,占用内存的情况等等。

筛选出特定条件的行

要是我们想要筛选出年龄在30岁以上的乘客,我们可以这么来操作df[df["Age"] > 30]
output     PassengerId  Survived  Pclass  ...     Fare Cabin  Embarked
1              2         1       1  ...  71.2833   C85         C
3              4         1       1  ...  53.1000  C123         S
4              5         0       3  ...   8.0500   NaN         S
6              7         0       1  ...  51.8625   E46         S
11            12         1       1  ...  26.5500  C103         S
..           ...       ...     ...  ...      ...   ...       ...
873          874         0       3  ...   9.0000   NaN         S
879          880         1       1  ...  83.1583   C50         C
881          882         0       3  ...   7.8958   NaN         S
885          886         0       3  ...  29.1250   NaN         Q
890          891         0       3  ...   7.7500   NaN         Q

[305 rows x 12 columns]
当然我们也可以将若干个条件合起来,一同做筛选,例如survived_under_45 = df[(df["Survived"]==1) 
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭