当前位置:首页 > 公众号精选 > 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) 
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭