py pandas】的更多相关文章

pandas.core.base.DataError: No numeric types to aggregate错误规避 我没有去解决这个问题, 而用填充0规避了这个问题 统计 聚合 d = [ {'cur': 1, 'next': 2, 'avgtime': None, 'callcount': None}, {'cur': 2, 'next': 3, 'avgtime': None, 'callcount': None}, {'cur': 2, 'next': 4, 'avgtime':…
import pandas as pd class Main(): def __init__(self): # 读取excel self.df = pd.read_excel("C:\\Users\\ajanuw\\Desktop\\pexcel\\test.xlsx") # 打印 print(self.df.head()) # 遍历rows for index,row in self.df.iterrows(): print(index, row['姓名'], row['身高'])…
这一节是承接上一节的内容, 依然是基于时间的数据分析, 接下来带大家理解关于 date_range 的相关用法. 首先, 引入数据文件: import pandas as pd df = pd.read_csv('/Users/rachel/Sites/pandas/py/pandas/15_ts_date_range/aapl_no_dates.csv') df.head() 输出:这个文件的数据跟上一节用到的数据是一模一样的(大家可以对照一下), 只是时间列被去掉了. 这样设计是因为我们要引…
这一小节要介绍两个内容, 一个是 DatetimeIndex 日期索引, 另一个是 Resample, 这是一个函数, 可以通过参数的设置, 来调整数据的查询条件, 从而得到不同的结果. 首先看下关于 DatetimeIndex 的内容, 照例先引入一个csv 文件作为数据基础: import pandas as pd df = pd.read_csv('/Users/rachel/Sites/pandas/py/pandas/14_ts_datetimeindex/aapl.csv') df.…
这小节的题目看起来还挺晦涩的, crosstab 是 pandas 的一个函数, 作用还蛮强大的, 一起来看一下吧~~~ 首先还是先引入一个例子文件: import pandas as pd df = pd.read_excel('/Users/rachel/Sites/pandas/py/pandas/13_crosstab/survey.xls') df 输出:好, 下面看一下 crosstab 的功力: pd.crosstab(df.Nationality, df.Handedness)…
这节的主题是 stack 和 unstack, 我目前还不知道专业领域是怎么翻译的, 我自己理解的意思就是"组成堆"和"解除堆". 其实, 也是对数据格式的一种转变方式, 单从字面上可能比较难理解, 所以给大家下面两张图来理解一下: 上图中, 标绿色的部分, 代表一个对应关系, 就是列的级别转为行级别. 下面来看下具体实现. 首先引入文件, 通过原表, 我们可以看到有两行表头, 所以这里要多加个参数 header=[0,1]: df = pd.read_excel(…
melt 也可以用来做数据格式转换, 请看下图, 我们可以用 melt 把左表转成右表的格式: 首先引入文件(已上传): df = pd.read_csv('/Users/rachel/Sites/pandas/py/pandas/11_melt/weather.csv') 输出: 使用 melt 转换格式: df1 = pd.melt(df, id_vars='day') 输出: 通过上面转换格式以后, 我们可以很容易活取单独某一城市的数据: df1[df1['variable']=='chi…
Pivot allows you to transform or reshape data.Pivot 可以帮助我们改变数据的格式, 下面两个例子可以作为参考: 下面来看下具体实现, 首先引入一个 csv 文件(已上传) df = pd.read_csv('/Users/rachel/Sites/pandas/py/pandas/10_pivot/weather.csv') 输出:格式转换, 设置 'date' 为索引列, 也就让'date' 做每一行的输出依据, 然后设置'city' 为每一列…
首先, 引入这节需要的 csv 文件 (已上传) import pandas as pd city_df = pd.read_csv('/Users/rachel/Sites/pandas/py/pandas/7_group_by/weather_by_cities.csv') df 输出: 根据 'city'字段分组: g=df.groupby('city') g 输出: <pandas.core.groupby.groupby.DataFrameGroupBy object at 0x112…
首先, 还是新建一个 jupyter notebook, 然后引入 csv 文件(此文件我已上传到博客园): import pandas as pd import numpy as np df = pd.read_csv('/Users/rachel/Sites/pandas/py/pandas/6_handling_missing_data_replace/weather_data.csv') df 输出:从上面的输出截图, 可以看到有很多不合理的数据, 这时可以用 replace() 函数来…