美文网首页
pandas学习笔记(二)

pandas学习笔记(二)

作者: frankie_cheung | 来源:发表于2019-02-03 18:13 被阅读0次

函数

pandas的函数应用类似于python里面的map和filter还有reduce函数,这样做的事情是不需要你进行循环就可以把全部数据执行一次。

import pandas as  pd

a=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],columns=["a","b","c"])

print(a)

f=lambda x:x.max()-x.min()

b=a.apply(f)

print(b)
   a  b  c
0  1  2  3
1  4  5  6
2  7  8  9
a    6
b    6
c    6
dtype: int64

这样就计算出了每一列的最大值-最小值的情况了。当然你也可以自己定义一个函数,进行应用。

排序

排序 :使用索引排序是使用sort_index,使用值排序是使用sort_values(by='列名')
代码示例:

import pandas as  pd

a=pd.DataFrame([[1,2,3],[4,8,5],[7,6,9]],columns=["a","b","c"])

print(a)

print("--------------")
total=a.sort_values(by='b')

print(total)
   a  b  c
0  1  2  3
1  4  8  5
2  7  6  9
--------------
   a  b  c
0  1  2  3
2  7  6  9
1  4  8  5

唯一值

取唯一值使用方法unique()

统计功能

pandas 可以轻易的进行一些求和和统计数量、最大值,最小值等功能,具体随便一搜都有,也可以求标准差等之类的
代码示例:求标准差

import pandas as  pd

a=pd.DataFrame([[1,2,3],[4,8,5],[7,6,9]],columns=["a","b","c"])

print(a['b'].std())
3.0550504633038935

统计每个值出现的次数

import pandas as  pd

a=pd.DataFrame([[1,2,3],[4,8,5],[7,6,9]],columns=["a","b","c"])

b=a["a"].value_counts()
print(b)
7    1
1    1
4    1

成员资格,判断数据是否在dataframe中

import pandas as  pd

a=pd.DataFrame([[1,2,3],[4,8,5],[7,6,9]],columns=["a","b","c"])

c=a["b"].isin(['12','8'])

#加入数据在dataframe中,返回ture,否则返回False
print(c)
print("-----------")
print(a[c])
0    False
1     True
2    False
Name: b, dtype: bool
-----------
   a  b  c
1  4  8  5

这个有时候还是挺有用的

处理缺失数据

缺失数据为,数据为空,或者你在数据库取出的数据是null/None,之类的,但是你在做计算时,这些空值无法进行计算,所以需要处理
我一般使用方式为:

  • 填充空值(fillna)为-99或者其他,然后遇到这些数值再进行逻辑判断
  • 直接使用dropna进行删除.

tips:判断某一个值是否为空时我是这样搞的:

np.isnan(Value)
#假如为空就是True

层次化索引

层次化索引,我理解的是在须有某些分组时,使用会比较有效率,官方是这样解释的:让你以低维度的形式,来处理高维度的数据
上个demo:

import pandas as pd
import numpy as np
data=pd.Series(np.random.randn(10),index=[["a","a","a","b","b","b","c","c","d","d"],
[1,2,3,1,2,3,1,2,2,3]])

print(data)
print("--------")
print(data["a"])
a  1   -0.646652
   2    1.074914
   3   -0.164349
b  1    0.557621
   2   -1.079296
   3    0.193348
c  1    1.335906
   2    1.031765
d  2   -0.900637
   3   -1.271147
dtype: float64
--------
1   -0.646652
2    1.074914
3   -0.164349
dtype: float64

创建空Dataframe 循环添加数据

我们在使用python列表时经常创建一个list=[],然后循环append,使用Dataframe也可以这样进行操作。

data=pd.DataFrame(columns=["列名","列名","PM25","列名","列名"])
data=data.append('这里的数据为对象上面列的一行数据')

相关文章

  • pandas学习笔记(二)

    Series和DataFrame的基本操作 本文均以以下数据为操作演示 一、对象基本属性 1. s.shape...

  • 学习pandas笔记(二)

    最近在公司实习时利用空余时间帮同事写了一个自动生成一个小数据日报的程序,期间发现了pandas的一些小技巧,这里总...

  • pandas学习笔记(二)

    函数 pandas的函数应用类似于python里面的map和filter还有reduce函数,这样做的事情是不需要...

  • 2020-02-12

    Pandas笔记之创建 Pandas DataFrame DataFrame为Pandas的第二种主要数据结构,是...

  • 大师兄的Python机器学习笔记:Pandas库

    大师兄的Python机器学习笔记:实现评估模型 一、关于Pandas 1. Pandas和Numpy Pandas...

  • pandas索引取数

    注:《利用python进行数据分析》的学习笔记-pandas import pandas as pd import...

  • pandas-基础笔记

    Pandas学习笔记-基础篇 参考资料 https://www.yiibai.com/pandas/ 导入模块 S...

  • python学习:pandas学习笔记(二)

    本次笔记内容:data frame的行/列selection, index使用方法对data frame中元素进行...

  • Pandas学习笔记(二)概述

    这篇翻译文章目的只是对Pandas有一个大概了解,建议不要深究某一句话或一个词,了解内容大概就可以了(而且最好还是...

  • 学习笔记----机器学习(三)

    我是iOS开发者之一。我们的App:今日好出行 申明一下,只是学习笔记,只是学习笔记,只是学习笔记。 Pandas...

网友评论

      本文标题:pandas学习笔记(二)

      本文链接:https://www.haomeiwen.com/subject/dkkesqtx.html