pandas使用方法汇总

1.dataframe的操作

1.1基本方法(后面记得加括号)

df.values  # 查看所有元素
df[''].value_counts #统计某列中类的数量,参数:normalize(返回占比)、sort(排序)、
          ascending (boolean, default False)(是否升序排列)。。
          eg. df['company'].value_counts(normalize=True)
df.head    # 查看前五行的数据
df.tail    # 查看最后五行的数据
df.index   # 查看索引
df.columns # 查看所有列名
df.dtype   # 查看字段类型
df.size    # 元素总数
df.ndim    # 表的维度数
df.shape   # 返回表的行数与列数
df.info    # DataFrame的详细内容
df.describe # 生成描述性统计汇总,包括均值、max等
df.isna    # 判断数据是否为缺失值,是的话返回true
df.isna().any()  # 数据量较大时,使用any()查看某一列是否有缺失值
df.dropna # 删掉含有缺失值的数据
df.fillna # 填充数据,主要参数:value(填充的值)、 method(缺失值填充方法)
df.sort_values  # 按照某列进行排序,eg.data.sort_values(by='salary') 也可用ascending

1.2 dataframe数据的查看方法

单列数据:df['col1']
单列多行:df['col1'][2:7]
多列多行:df[['col1','col2']][2:7]
多行数据:df[:][2:7]     #这里使用df[2:7][:]也能得到同样的效果

 1.3loc,iloc的查看方法

# loc[行索引名称或条件,列索引名称]
# iloc[行索引位置,列索引位置]

单列切片:df.loc[:,'col1']
         df.iloc[:,3]
多列切片:df.loc[:,['col1','col2']]
         df.iloc[:,[1,3]]
按需切片:df.loc[2:5,['col1','col2']]
         df.iloc[2:5,[1,3]]
条件切片:df.loc[df['col1']=='245',['col1','col2']]
         df.iloc[(df['col1']=='245').values,[1,5]]

1.4删除数据(及时更新)

# 删除某几行数据,inplace为True时在源数据上删除,False时需要新增数据集
df.drop(labels=range(1,11),axis=0,inplace=True)
# 删除某几列数据
df.drop(labels=['col1','col2'],axis=1,inplace=True)

 1.5更新

df=df.reset_index(drop=True)     #更新索引范围,不更新的话会导致报错keyerror

2.处理时间序列数据

2.1字符串时间转换为标准时间

df['time'] = pd.to_datetime(df['time'])

 2.2加减时间

# 使用Timedelta,支持weeks,days,hours,minutes,seconds,但不支持月和年
df['time'] = df['time'] + pd.Timedelta(days=1)
df['time'] = df['time'] - pd.to_datetime('2016-1-1')
# 时间跨度计算:
df['time'].max() - df['time'].min()

 3.分组聚合(groupby)

(1)基本方法

df.groupby(by='',axis=0,level=None,as_index=True,sort=True,group_keys=True
           ,squeeze=False).count()
# by--分组的字段  level--标签所在级别,默认None  as_index--聚合标签是否以df形式输出,
  默认True,sort--是否对分组依据,分组标签进行排序,默认True  group_keys--是否显示分组
  标签名称,默认True  squeeze--是否对返回数据进行降维,默认False
# 聚合函数有count,head,max,min,median,size,std,sum

(2)具体使用:如图包含三个字段,company、salary、age

 使用语句:

group = data.groupby("company")

结果:

In [8]: list(group)
Out[8]:
[('A',   company  salary  age
  3       A      20   22
  6       A      23   33), 
 ('B',   company  salary  age
  4       B      10   17
  5       B      21   40
  8       B       8   30), 
 ('C',   company  salary  age
  0       C      43   35
  1       C      17   25
  2       C       8   30
  7       C      49   19)]

 可以清楚的看见,dataframe通过groupby(“company”),将df按company进行分组,得到了按company中不同的类别进行的分组,总的来说, groupby的过程就是将原有的DataFrame按照groupby的字段(这里是company),划分为若干个分组DataFrame,被分为多少个组就有多少个分组DataFrame

3.1agg、transform、apply方法的使用见下面的链接

参考链接:

groupby用法:Pandas教程 | 超好用的Groupby用法详解 - 知乎

pandas常见函数使用:Python笔记--Pandas常用函数汇总 - 知乎

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pandas是一个强大的数据分析工具,适用于多种场景。以下是一些Pandas使用场景: 1. 数据清洗和预处理:Pandas提供了各种方法和函数来处理和清洗数据,例如填充缺失值、删除重复数据、处理异常值等。 2. 数据探索性分析:Pandas可以用于数据的探索性分析,通过计算基本统计信息(如平均数、中位数、标准差、最大值、最小值等)来了解数据的分布和特征。此外,Pandas还可以绘制各种图表(如直方图、散点图、折线图等),帮助我们更好地理解和可视化数据。 3. 数据聚合和分组分析:Pandas提供了强大的聚合和分组功能,可以根据某个或多个变量对数据进行分组,并进行聚合操作,如计算总和、计数、平均值等。这对于数据集合的分析和汇总非常有用。 4. 数据合并和连接:Pandas可以用于将多个数据集按照指定的列进行合并和连接,例如数据库中的join操作。这在处理多个数据源或多个表格的数据时非常有用。 5. 时间序列数据分析:Pandas具有强大的时间序列数据处理功能,可以对时间序列数据进行重采样、滑动窗口计算、时间窗口分组等操作。这对于金融数据、气象数据、股票数据等时间相关的数据分析非常有帮助。 总之,Pandas是一种功能强大的数据分析工具,适用于数据清洗和预处理、数据探索性分析、数据聚合和分组分析、数据合并和连接以及时间序列数据分析等多个场景。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [pandas 常见 使用方法 以及使用场景](https://blog.csdn.net/qq_18617299/article/details/107984685)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [pandas库的使用场景](https://blog.csdn.net/kk_cola/article/details/129699402)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值