报错内容是:Error 1366: Incorrect string value: '\xE5\xB0\x8F\xE8\x99\x8E' for column 'name' at row 1 1、先看下运行的结果...: 1643887673(2).jpg 1643887673(1).jpg 以上就是执行过程,可以看到字段是没有问题的,第一行数据也没有问题, 但是第二个u2的数据就没有插入成功。...2、后面经过排查发现是表的字符集错误导致。 默认是 1643887673.jpg 修改为 1643887673(3).jpg 3、之后再创建u2就没有问题了。 image.png 完结。
本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 我们在使用pandas分析处理时间序列数据时...原始的意思是重采样,可分为上采样与下采样,而我们通常情况下使用的都是下采样,也就是从高频的数据中按照一定规则计算出更低频的数据,就像我们一开始说的对每日数据按月汇总那样。 ...如果你熟悉pandas中的groupby()分组运算,那么你就可以很快地理解resample()的使用方式,它本质上就是在对时间序列数据进行“分组”,最基础的参数为rule,用于设置按照何种方式进行重采样...图5 而即使你的数据框index不是日期时间类型,也可以使用参数on来传入日期时间列名实现同样的效果。...它通过参数freq传入等价于resample()中rule的参数,并利用参数key指定对应的时间类型列名称,但是可以帮助我们创建分组规则后传入groupby()中: # 分别对苹果与微软每月平均收盘价进行统计
点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达 数据可视化动画还在用Excel做?现在一个简单的Python包就能分分钟搞定!...使用指南 想要使用Pynimate,直接import一下就行。 import pynimate as nim 输入数据后,Pynimate将使用函数Barplot()来创建条形数据动画。...而创建这种动画,输入的数据必须是pandas数据结构(如下),其中将时间列设置为索引,换句话说索引代表的是自变量。...举个栗子,下面这个表格中的数据只有三个时间点,按理说只能生成3帧视频,最终动画也只有3/24秒。...,则要视具体的数据而定,一般绘制大数据时,设置为ip_freq = None。
import pynimate as nim 输入数据后,Pynimate将使用函数Barplot()来创建条形数据动画。...而创建这种动画,输入的数据必须是pandas数据结构(如下),其中将时间列设置为索引,换句话说索引代表的是自变量。...最后是ip_freq,它是制作动画中比较关键的一步,通过线性插值使动画更加流畅丝滑。 一般来说,并不是所有的原始数据都适合做成动画,现在一个典型的视频是24fps,即每秒有24帧。...举个栗子,下面这个表格中的数据只有三个时间点,按理说只能生成3帧视频,最终动画也只有3/24秒。...,则要视具体的数据而定,一般绘制大数据时,设置为ip_freq = None。
pandas分析处理时间序列数据时,经常需要对原始时间粒度下的数据,按照不同的时间粒度进行分组聚合运算,譬如基于每个交易日的股票收盘价,计算每个月的最低和最高收盘价。...原始的意思是「重采样」,可分为「上采样」与「下采样」,而我们通常情况下使用的都是「下采样」,也就是从高频的数据中按照一定规则计算出更低频的数据,就像我们一开始说的对每日数据按月汇总那样。...,譬如我们以2日为单位,将closed设置为'right'时,从第一行记录开始计算所落入的时间窗口时,其对应为时间窗口的右边界,从而影响后续所有时间单元的划分方式: ( AAPL .set_index...index不是日期时间类型,也可以使用参数on来传入日期时间列名实现同样的效果。...它通过参数freq传入等价于resample()中rule的参数,并利用参数key指定对应的时间类型列名称,但是可以帮助我们创建分组规则后传入groupby()中: # 分别对苹果与微软每月平均收盘价进行统计
Series的布尔索引 从Series中获取满足某些条件的数据,可以使用布尔索引 然后可以手动创建布尔值列表 bool_index = [True,False,False,False,True] scientists...也可以利用布尔索引获取某些元素(使用逻辑运算获取最小值) 更改Series 和DataFrame 通过set_index()方法设置行索引名字 加载数据文件时,如果不指定行索引,Pandas会自动加上从...0开始的索引 如果提前写好行索引的列表,可以用set_index引入进来,也可以直接写入列表内容 加载数据的时候,也可以通过通过index_col参数,指定使用某一列数据作为行索引 movie2 = pd.read_csv...,再赋值回去 3.通过dataframe[列名]添加新列 4.使用insert()方法插入列 loc 新插入的列在所有列中的位置(0,1,2,3...) column=列名 value=值 # index...columns[1] = '导演' columns[3] = '时长' movie2.columns = columns # 将修改后的列表命名为数据的全部列名
补充:reindex用法 reindex的作用是创建一个符合新索引的新对象(默认不会修改原对象df2),它的一个用途是按新索引重新排序。...df2.reindex([(2016,1),(2017,2)]) 当现有数据无法匹配新的索引时,reindex将使用NaN填充。...数据透视表的效果可以通过groupby来实现,但有时候直接使用pivot_table方法建立数据透视表可能更方便些,而且额外提供了汇总功能。...(相当于sql里的聚合函数操作的列),默认使用data参数指定的数据;aggfunc参数指明进行聚合运算的函数,默认是mean;margins=True参数提供了数据汇总功能。...(['年份','课程']).agg({'富强':'max','李海':sum}).unstack() 注意:当来源的数据和聚合的数据不同时,需要使用values参数,下面两个语句等价。
使用指南 想要使用Pynimate,直接import一下就行。 import pynimate as nim 输入数据后,Pynimate将使用函数Barplot()来创建条形数据动画。...而创建这种动画,输入的数据必须是pandas数据结构(如下),其中将时间列设置为索引,换句话说索引代表的是自变量。...举个栗子,下面这个表格中的数据只有三个时间点,按理说只能生成3帧视频,最终动画也只有3/24秒。...,则要视具体的数据而定,一般绘制大数据时,设置为ip_freq = None。...他还开发了一个应用程序:Chatmetry,同样也与数据统计有关,是一个用于创建whatsapp聊天统计数据的机器人应用程序。
a = [1,2,3] b = [4,5,6] #字典中的key值即为csv中的列名 data_dict = {'a_name':a,'b_name':b} #设置DataFrame中列的排列顺序...横向表拼接(行对齐) 2.2.2.1 axis 当axis = 1的时候,concat就是行对齐,然后将不同列名称的两张表合并。...set_index() 将DataFrame中的列columns设置成索引index 打造层次化索引的方法 reset_index() 将使用set_index()打造的层次化逆向操作...drop=False) 4.3 重置 reset_index():将使用set_index()打造的层次化逆向操作。...''' 6.2 修改 修改DataFrame中的某一元素 df['列名'][行序号(index)] = "新数据"
语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 这个系列主要是实际在做项目的一个笔记 自监控项目,主要是对采集的质量监控数据做的一个实时预警...今天讲讲DataFrame行索引与常规列的互换 主要涉及:reset_index,set_index 今日歌曲: Part 1:构建一个DataFrame 一个DataFrame可以看成一个二维表格,...[82, 87, 89, 80]}df = pd.DataFrame(dict1, index=["x", "y", "z", "q"]) df.index.name = "ts" # 指定行索引列名称...Part 2:将索引变成列 使用reset_index将索引变成常规列 通过对replace参数进行设置,确定是否在原变量上执行操作 原索引变成常规列后,会重新自动生成一个默认索引 df.reset_index...Part 3:将列变成索引 使用set_index将常规列变成索引 同样通过设置inplace值决定是否在原变量上执行操作 执行该操作原索引会消失 df.set_index("a", inplace=True
state和color (1)重排序和层级排序 有时候我们需要重新排列轴上的层级顺序,可以使用swaplevel接收两个层级序号或层级名称,返回一个层级变更的新对象: frame.swaplevel...('key1', 'key2') #交换key1和key2 同样的,sort_index只能在单一层面上对数据进行排序,在进行层级变换时,使用sort_index以使得结果按照层级进行排序: frame.sort_index...,测试数据如下(数据命名为df): 将c列和d列作为索引列,用到了set_index方法,会返回一个新的DataFrame对象: df.set_index(['c', 'd']) 可以传入drop...另外的,reset_index是set_index的反操作,reset_index不需要任何参数。...(4)sort_index(level=n)可以将数据按照索引顺序为n的索引列进行排序 (5)sum(level=索引名称)可以使数据在某个层级上进行汇总统计 (6)set_index方法可以将数据的多个列作为索引列
其中Series表示一维数据,Dataframe表示二维数据,Panel表示三维数据。 但实际上,当数据高于二维时,我们一般用包含多层级索引的Dataframe进行表示,而不是使用Panel。...原因是使用多层级索引展示数据更加直观,操作数据更加灵活,并且可以表示3维,4维乃至任意维度的数据。 一,多层级索引的创建 1,指定多维列表作为columns ?...2,使用pd.MultiIndex中的方法显式生成多层级索引 可以使用pd.MultiIndex中的from_tuples等方法生成多层级索引。 ?...3,使用set_index方法将普通列转成多层级索引 这种方法只能生成多层级行索引。 ? ? ? 4,groupby和pivot_table等方法也可以生成带有多层级索引的结果 ? ? ?...2,set_index和reset_index ? ? 3,指定level的相关方法 ? ? ? ?
(二)从已有DataFrame创建如果已经有一个DataFrame,并且其中某些列可以作为多级索引的一部分,我们可以使用set_index()方法来创建多级索引。...这可能是由于在构建多级索引时,传入的列表顺序错误导致的。解决方法:仔细检查构建多级索引时传入的参数顺序。如果是从DataFrame创建多级索引,确保set_index()方法中传入的列名顺序正确。...(三)聚合操作复杂在多级索引的数据上进行聚合操作(如求和、平均值等)时,可能会出现一些复杂的情况。例如,我们想要计算每个地区各类别产品的销售总额,但是直接使用sum()函数可能会得到不符合预期的结果。...四、常见报错及避免方法(一)KeyError当我们尝试使用错误的索引标签(例如拼写错误或者不存在的标签)去访问多级索引的数据时,会触发KeyError。...(二)TypeError如果在构建多级索引时传入了不兼容的数据类型(例如将字符串与整数混合构建索引),可能会引发TypeError。避免方法:确保构建多级索引时传入的数据类型一致。
小小明:「凹凸数据」专栏作者,Pandas数据处理高手,致力于帮助无数数据从业者解决数据处理难题。 源于林胖发出的一道基础题: ? ?...然后再看看这个explode函数,它是pandas 0.25版本才出现的函数,只有一个参数可以传入列名,然后该函数就可以把该列的列表每个元素扩展到多行上。...列表分列的2种方法 列表分列的思路:Pandas的Series对象调用apply方法单个元素返回的结果是Series时,这个Series的每个数据会作为Datafrem的每一列,索引会作为列名。...列为索引: df["b"].apply(pd.Series).set_index(df["a"]) 结果均为上述实现思路的第二步。...只要再执行set_index("a"): df.agg({"a": lambda x: x, "b": pd.Series}).droplevel(0, axis=1).set_index("a")
DataFrame,数据使用被调用的表。...('ID') 表中的值数据来自于df_temp, 而行索引和列索引则来自于传入的 df[0:5][['Weight','Height']]。...(df.shape[0]))).head() 如果恰好列名是用的默认整数索引, 并且包含了传入的参数,是否这些列会被设置成索引?...传入的是list的时候, 就会把列名和list一致的列设置为索引 看参数说明,并不一定需要Series df.set_index(np.arange(df.shape[0])).head() 可以直接添加多级索引...为空,因此使用rename_index无法将其重命名。
为了使数据更易于理解和分析,我们通常需要对列名或索引进行重命名。列名重命名列名是对每列数据的描述,清晰准确的列名有助于理解数据内容。...代码案例解释示例数据准备import pandas as pd# 创建一个简单的 DataFramedata = { 'A': [1, 2, 3], 'B': [4, 5, 6], '...使用 set_index() 和 reset_index() 修改索引# 设置新索引df.set_index('Col3', inplace=True)print("\n设置新索引后的 DataFrame...,无法重命名")2....处理缺失值如果数据中存在缺失值,在重命名时可能会遇到意外情况。
(); taskScheduler.setPoolSize(50); return taskScheduler; } 如果没有指定TaskScheduler则会创建一个单线程的默认调度器...因此问题就清楚了,需要自己创建一个TaskScheduler。
下载的数据编码格式是'gbk',所以读取数据时也要指定用'gbk',否则会报错。 ? 使用type()函数打印数据的类型,数据类型为DataFrame。...DataFrame数据由三个部分组成,行索引、列索引、数据。pandas读取DataFrame数据时,如果数据行数和列数很多,会自动将数据折叠,中间的显示为“...”。...设置某一列为行索引 上面的DataFrame数据中,行索引是0~4725的整数,假如要设置日期为行索引,可以使用set_index()方法设置。...设置多重索引MultiIndex 使用set_index()设置行索引时可以同时设置多个列为行索引。...当一列中的数据不唯一时,可以使用两列或多列来组合成多重行索引,当需要将数据处理成多维数据时,也可以用多重索引。
导读 pandas中最常用的数据结构是DataFrame,而DataFrame相较于嵌套list或者二维numpy数组更好用的原因之一在于其提供了行索引和列名。...本文主要介绍行索引的几种变换方式,包括rename与reindex、index.map、set_index与reset_index、stack与unstack等。 ?...),可接收字典或函数完成单列数据的变换;apply既可用于一列(即Series)也可用于多列(即DataFrame),但仅可接收函数作为参数,当作用于Series时对每个元素进行变换,作用于DataFrame...时对其中的每一行或每一列进行变换;而applymap则仅可作用于DataFrame,且作用对象是对DataFrame中的每个元素进行变换。...04 set_index与reset_index set_index和reset_index是一对互逆的操作,其中前者用于置位索引——将DataFrame中某一列设置为索引,同时丢弃原索引;而reset_index
领取专属 10元无门槛券
手把手带您无忧上云