首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据处理利器pandas入门

Pandas主要有两种数据查询选择操作: 基于标签的查询 基于整数的位置索引查询 Pandas在选择列时,无需使用 date[:, columns] 的形式,先使用 : 选择所有行,再指定 columns...补齐所有时刻之后,我们可以查看一下数据的缺失情况: data.isnull() # 返回逻辑DataFrame,缺失值为True,否则为False # data.isnull().sum() # 统计每个站点每个要素的总的缺失数...data.isnull().sum() 利用了逻辑运算时:True被视为1,False被视为0的方式。...与 data.isnull() 相反的是 data.notnull() ,是缺失值为False,否则为True。...索引切片: 可以理解成 idx 将 MultiIndex 视为一个新的 DataFrame,然后将上层索引视为行,下层索引视为列,以此来进行数据的查询。

3.7K30

Python 算法交易秘籍(一)

使用这些操作返回另一个datetime对象。在这个示例中,您将创建datetime、date、time和timedelta对象,并对它们执行数学运算。...pandas库有一个pandas.DataFrame类,对于处理和操作这样的数据很有用。这个示例从创建这些对象开始。...如果不传递,其默认值为False,意味着将创建一个新的DataFrame而不是修改df。 重新排列:在步骤 2 中,你使用reindex()方法从df创建一个新的DataFrame,重新排列其列。...iterrows()方法将每行作为一个(index, pandas.Series)对进行迭代。在步骤 6中,您使用df.iloc[0]迭代df的第一行的所有值。...您将包含df和df_new的列表作为参数传递给pandas.concat()函数。另外,为了创建一个从0开始的新索引,您使用了reset_index()方法,并将参数 drop 传递为True。

79450
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    对比Excel,更强大的Python pandas筛选

    如果不需要新数据框架中的所有列,只需将所需的列名传递到.loc[]中即可。例如,仅需要选择最新排名、公司名称和营业收入,我们可以执行以下操作。注意,它只返回我们指定的3列。...我们传递给loc[]的条件:df['总部所在国家'] == '中国',实际上是一个布尔索引,它是一个True值或False值列表。...上面的代码行翻译为:对于每一行,如果“总部所在国家”是“中国”,则评估为Ture,否则为False。 为了更好地形象化这个思想,让我展示一下在Excel中它是什么样子。...看看下面的Excel屏幕截图,添加了一个新列,名为“是否中国”,还使用了一个简单的IF公式来评估一行是否“总部所在国家”为中国,该公式返回1或0。实际上,我正在检查每一行的值。...上面的代码行创建了一个列表,该列表的长度与数据框架本身相同,并用True或False填充。这基本上就是我们在Excel中所做的。

    3.9K20

    Python3分析Excel数据

    ) writer.save() 3.2.3 选取特定列 有两种方法可以在Excel文件中选取特定的列: 使用列索引值 使用列标题 使用列索引值 用pandas设置数据框,在方括号中列出要保留的列的索引值或名称...设置数据框和iloc函数,同时选择特定的行与特定的列。如果使用iloc函数来选择列,那么就需要在列索引值前面加上一个冒号和一个逗号,表示为这些特定的列保留所有的行。...当在每个数据框中筛选特定行时,结果是一个新的筛选过的数据框,所以可以创建一个列表保存这些筛选过的数据框,然后将它们连接成一个最终数据框。 在所有工作表中筛选出销售额大于$2000.00的所有行。...然后,用loc函数在每个工作表中选取特定的列,创建一个筛选过的数据框列表,并将这些数据框连接在一起,形成一个最终数据框。...使用Python内置的glob模块和os模块,创建要处理的输入文件列表,并对输入文件列表应用for循环,对所有要处理的工作簿进行迭代。

    3.4K20

    李航《统计学习方法》决策树ID3算法实现

    在开篇我们使用pandas、numpy和sklearn先对数据进行一些处理。 数据集选用《统计学习方法》中提供的,保存为csv文件。...怎么准确的定量选择这个标准就是决策树机器学习算法的关键了。1970年代,一个叫昆兰的大牛找到了用信息论中的熵来度量决策树的决策选择过程,方法一出,它的简洁和高效就引起了轰动,昆兰把这个算法叫做ID3。...选择值 输出:划分数据集 描述:按照给定特征划分数据集;选择所占列中等于选择值的项 ''' cols = dataset.columns.tolist() axisFeat...比如一个变量有2个值,各为1/2,另一个变量为3个值,各为1/3,其实他们都是完全不确定的变量,但是取3个值的比取2个值的信息增益大。...ID3算法对于缺失值的情况没有做考虑 没有考虑过拟合的问题 写在最后: 由于ID3的不足,其作者昆兰对ID3算法进行了改进,并称其为C4.5算法。在后续文章将会对其进行实现。

    61650

    Python代码实操:详解数据清洗

    使用 all() 和 any() 判断每列是否包含至少1个为True或全部为True的情况。 使用Pandas的 dropna() 直接删除缺失值。...使用 sklearn.preprocessing 中的 Imputer 方法对缺失值进行填充和替换,支持3种填充方法。...5 False False False False 列出至少有一个元素含有缺失值的列(该示例中为col2和col4): col1 False col2 True col3...在判断逻辑中,对每一列的数据进行使用自定义的方法做Z-Score值标准化得分计算,然后与阈值2.2做比较,如果大于阈值则为异常。...keep:当重复时不标记为True的规则,可设置为第1个(first)、最后一个(last)和全部标记为True(False)。默认使用first,即第1个重复值不标记为True。

    5K20

    系统性的学会 Pandas, 看这一篇就够了!

    如果没有传入索引参数,则默认会自动创建一个从0-N的整数索引。 columns:列标签。如果没有传入索引参数,则默认会自动创建一个从0-N的整数索引。...(4)自定义运算 apply(func, axis=0) func:自定义函数 axis=0:默认是列,axis=1为行进行运算 定义一个对列,最大值-最小值的函数 下面看个例子: data[['open...,False:不替换修改原数据,生成新的对象 pd.isnull(df), pd.notnull(df) 判断数据中是否包含NaN: 存在缺失值nan: (3)如果缺失值没有使用NaN标记,比如使用"?...,这些列中只有一列可以为这个样本取值为1.其又被称为热编码。...思路分析 1、创建一个全为0的dataframe,列索引置为电影的分类,temp_df 2、遍历每一部电影,temp_df中把分类出现的列的值置为1 3、求和 思路 下面接着看: 1、创建一个全为0的dataframe

    4.4K40

    系统性总结了 Pandas 所有知识点

    如果没有传入索引参数,则默认会自动创建一个从0-N的整数索引。 columns:列标签。如果没有传入索引参数,则默认会自动创建一个从0-N的整数索引。...4、自定义运算 apply(func, axis=0) func:自定义函数 axis=0:默认是列,axis=1为行进行运算 定义一个对列,最大值-最小值的函数 下面看个例子: data[['open...,False:不替换修改原数据,生成新的对象 pd.isnull(df), pd.notnull(df) 判断数据中是否包含NaN: 存在缺失值nan: (3)如果缺失值没有使用NaN标记,比如使用"?...,这些列中只有一列可以为这个样本取值为1.其又被称为热编码。...思路分析 1、创建一个全为0的dataframe,列索引置为电影的分类,temp_df 2、遍历每一部电影,temp_df中把分类出现的列的值置为1- 3、求和 思路 下面接着看: 1、创建一个全为0的

    3.3K20

    系统性的学会 Pandas, 看这一篇就够了!

    如果没有传入索引参数,则默认会自动创建一个从0-N的整数索引。 columns:列标签。如果没有传入索引参数,则默认会自动创建一个从0-N的整数索引。...(4)自定义运算 apply(func, axis=0) func:自定义函数 axis=0:默认是列,axis=1为行进行运算 定义一个对列,最大值-最小值的函数 下面看个例子: data[['open...,False:不替换修改原数据,生成新的对象 pd.isnull(df), pd.notnull(df) 判断数据中是否包含NaN: 存在缺失值nan: (3)如果缺失值没有使用NaN标记,比如使用"?...,这些列中只有一列可以为这个样本取值为1.其又被称为热编码。...思路分析 1、创建一个全为0的dataframe,列索引置为电影的分类,temp_df 2、遍历每一部电影,temp_df中把分类出现的列的值置为1 3、求和 思路 下面接着看: 1、创建一个全为0的dataframe

    4.6K30

    【Python环境】Python中的结构化数据分析利器-Pandas简介

    DataFrame是二维的数据结构,其本质是Series的容器,因此,DataFrame可以包含一个索引以及与这些索引联合在一起的Series,由于一个Series中的数据类型是相同的,而不同Series...或者以数据库进行类比,DataFrame中的每一行是一个记录,名称为Index的一个元素,而每一列则为一个字段,是这个记录的一个属性。...1'}, inplace=True) 查看每个列的数据类型 df.dtypes R中的对应函数: str(df) 查看最大值/最小值 pd.Series.max()pd.Series.idxmax()...df.groupby(['A','B']).sum()##按照A、B两列的值分组求和 对应R函数: tapply() 在实际应用中,先定义groups,然后再对不同的指标指定不同计算方式。...groupby的值作为索引,如果不将这些值作为索引,则需要使用as_index=False df.groupby(['A','B'], as_index=False).sum() 构建透视表 使用pivot_table

    15.1K100

    系统性的学会 Pandas, 看这一篇就够了!

    如果没有传入索引参数,则默认会自动创建一个从0-N的整数索引。 columns:列标签。如果没有传入索引参数,则默认会自动创建一个从0-N的整数索引。...(4)自定义运算 apply(func, axis=0) func:自定义函数 axis=0:默认是列,axis=1为行进行运算 定义一个对列,最大值-最小值的函数 下面看个例子: data[['open...,False:不替换修改原数据,生成新的对象 pd.isnull(df), pd.notnull(df) 判断数据中是否包含NaN: 存在缺失值nan: (3)如果缺失值没有使用NaN标记,比如使用"?...,这些列中只有一列可以为这个样本取值为1.其又被称为热编码。...思路分析 1、创建一个全为0的dataframe,列索引置为电影的分类,temp_df 2、遍历每一部电影,temp_df中把分类出现的列的值置为1 3、求和 思路 下面接着看: 1、创建一个全为0的dataframe

    4.1K20

    整理了10个经典的Pandas数据查询案例

    在开始之前,先快速回顾一下Pandas中的查询函数query。查询函数用于根据指定的表达式提取记录,并返回一个新的DataFrame。表达式是用字符串形式表示的条件或条件的组合。...在后端Pandas使用eval()函数对该表达式进行解析和求值,并返回表达式被求值为TRUE的数据子集或记录。所以要过滤Pandas中的DataFrame,需要做的就是在查询函数中指定条件即可。...但是,query()的还不仅限于这些数据类型,对于日期时间值query()函数也可以非常灵活的过滤。...日期时间列过滤 使用query()函数在日期时间值上进行查询的唯一要求是,包含这些值的列应为数据类型dateTime64 [ns] 在示例数据中,OrderDate列是日期时间,但是我们的df其解析为字符串...这是因为:query()的第二个参数(inplace)默认false。 与一般的Pandas提供的函数一样,inplace的默认值都是false,查询不会修改原始数据集。

    3.9K20

    几个高效Pandas函数

    Query Query是pandas的过滤查询函数,使用布尔表达式来查询DataFrame的列,就是说按照列的规则进行过滤操作。...1 名,下一个人是第 3 名 method=dense: 两人并列第1名,下一个人是第 2 名 method=first: 相同值会按照其在序列中的相对位置定值 ascending:正序和倒序 对df...用法: DataFrame.memory_usage(index=True, deep=False) 参数解释: index:指定是否返回df中索引字节大小,默认为True,返回的第一行即是索引的内存使用情况...; deep:如果为True,则通过查询object类型进行系统级内存消耗来深入地检查数据,并将其包括在返回值中。...是否使用正则,False是不使用,True是使用,默认是False method:填充方式,pad,ffill,bfill分别是向前、向前、向后填充 创建一个df: In [16]: values_1

    1.6K60

    10个快速入门Query函数使用的Pandas的查询示例

    在开始之前,先快速回顾一下pandas -中的查询函数query。查询函数用于根据指定的表达式提取记录,并返回一个新的DataFrame。表达式是用字符串形式表示的条件或条件的组合。...在后端pandas使用eval()函数对该表达式进行解析和求值,并返回表达式被求值为TRUE的数据子集或记录。所以要过滤pandas DataFrame,需要做的就是在查询函数中指定条件即可。...但是,query()的还不仅限于这些数据类型,对于日期时间值 Query()函数也可以非常灵活的过滤。...日期时间列过滤 使用Query()函数在日期时间值上进行查询的唯一要求是,包含这些值的列应为数据类型dateTime64 [ns] 在示例数据中,OrderDate列是日期时间,但是我们的df其解析为字符串...这是因为:query()的第二个参数(inplace)默认false。 与一般的pandas提供的函数一样,Inplace的默认值都是false,查询不会修改原始数据集。

    4.4K20

    10快速入门Query函数使用的Pandas的查询示例

    在开始之前,先快速回顾一下pandas -中的查询函数query。查询函数用于根据指定的表达式提取记录,并返回一个新的DataFrame。表达式是用字符串形式表示的条件或条件的组合。...pandas query()函数可以灵活地根据一个或多个条件提取子集,这些条件被写成表达式并且不需要考虑括号的嵌套 在后端pandas使用eval()函数对该表达式进行解析和求值,并返回表达式被求值为TRUE...但是,query()的还不仅限于这些数据类型,对于日期时间值 Query()函数也可以非常灵活的过滤。...日期时间列过滤 使用Query()函数在日期时间值上进行查询的唯一要求是,包含这些值的列应为数据类型dateTime64 [ns] 在示例数据中,OrderDate列是日期时间,但是我们的df其解析为字符串...这是因为:query()的第二个参数(inplace)默认false。 与一般的pandas提供的函数一样,Inplace的默认值都是false,查询不会修改原始数据集。

    4.5K10

    整理了10个经典的Pandas数据查询案例

    在开始之前,先快速回顾一下Pandas中的查询函数query。查询函数用于根据指定的表达式提取记录,并返回一个新的DataFrame。表达式是用字符串形式表示的条件或条件的组合。...在后端Pandas使用eval()函数对该表达式进行解析和求值,并返回表达式被求值为TRUE的数据子集或记录。所以要过滤Pandas中的DataFrame,需要做的就是在查询函数中指定条件即可。...但是,query()的还不仅限于这些数据类型,对于日期时间值query()函数也可以非常灵活的过滤。...日期时间列过滤 使用query()函数在日期时间值上进行查询的唯一要求是,包含这些值的列应为数据类型dateTime64 [ns] 在示例数据中,OrderDate列是日期时间,但是我们的df其解析为字符串...这是因为:query()的第二个参数(inplace)默认false。 与一般的Pandas提供的函数一样,inplace的默认值都是false,查询不会修改原始数据集。

    24020

    30 个小例子帮你快速掌握Pandas

    我们可以使用特定值,聚合函数(例如均值)或上一个或下一个值。 对于Geography列,我将使用最常见的值。 ?...同样,对于Balance列,我将使用列的均值替换缺失值。...符合指定条件的值将保持不变,而其他值将替换为指定值。 20.排名函数 它为这些值分配一个等级。让我们创建一个根据客户余额对客户进行排名的列。...method参数指定如何处理具有相同值的行。first表示根据它们在数组(即列)中的顺序对其进行排名。 21.列中唯一值的数量 使用分类变量时,它很方便。我们可能需要检查唯一类别的数量。...Geography列的内存消耗减少了近8倍。 24.替换值 替换函数可用于替换DataFrame中的值。 ? 第一个参数是要替换的值,第二个参数是新值。 我们可以使用字典进行多次替换。 ?

    10.8K10

    Python3分析CSV数据

    (output_file, index=False) 2.4 选取连续的行 pandas提供drop函数根据行索引或列标题来丢弃行或列,提供iloc函数根据行索引选取一个单独行作为列索引,提供reindex...这行代码使用{}占位符将3 个值传入print 语句。对于第一个值,使用os.path.basename() 函数从完整路径名中抽取出基本文件名。...对于第二个值,使用row_counter 变量来计算每个输入文件中的总行数。...最后,对于第三个值,使用内置的len 函数计算出列表变量header 中的值的数量,这个列表变量中包含了每个输入文件的列标题列表。我们使用这个值作为每个输入文件中的列数。...因为输出文件中的每行应该包含输入文件名,以及文件中销售额的总计和均值,所以可以将这3 种数据组合成一个文本框,使用concat 函数将这些数据框连接成为一个数据框,然后将这个数据框写入输出文件。

    6.7K10

    (数据科学学习手札73)盘点pandas 1.0.0中的新特性

    类型对于字符串与非字符串混合的数据无差别的统一存储为一个类型,而现在的StringDtype则只允许存储字符串对象   我们通过下面的例子更好的理解这个新特性,首先我们在excel中创建如下的表格(...图2),其包含两列V1和V2,且V1中的元素并不是纯粹的字符串,混杂了数字,而V2则为纯粹的字符串列: ?...图5   则正常完成了数据类型的转换,而pandas中丰富的字符串方法对新的string同样适用,譬如英文字母大写化: StringDtype_test['V2'].astype('string').str.upper...()去除数据框中的重复值时,经常会发现处理后的结果index随着排序或行的删除而被打乱,在index无意义时我们需要使用reset_index()方法对结果的index进行重置,而在新版本的pandas...中,为sort_values()、sort_index()以及drop_duplicates()引入了新参数ignore_index(),这是一个bool型变量,默认值为False,当被设置为True时

    78331

    你一定不能错过的pandas 1.0.0四大新特性

    2.1 新增StringDtype数据类型 一直以来,pandas中的字符串类型都是用object来存储的,这次更新带来的新的更有针对性的StringDtye主要是为了解决如下问题: object类型对于字符串与非字符串混合的数据无差别的统一存储为一个类型...,而现在的StringDtype则只允许存储字符串对象 我们通过下面的例子更好的理解这个新特性,首先我们在excel中创建如下的表格(图2),其包含两列V1和V2,且V1中的元素并不是纯粹的字符串,混杂了数字...# 对V2进行强制类型 StringDtype_test['V2'].astype('string') 图5 则正常完成了数据类型的转换,而pandas中丰富的字符串方法对新的string同样适用...按列使用sort_values()、按index使用sort_index()排序或使用drop_duplicates()去除数据框中的重复值时,经常会发现处理后的结果index随着排序或行的删除而被打乱...()引入了新参数ignore_index(),这是一个bool型变量,默认值为False,当被设置为True时,排序后结果的index会被自动重置: df = pd.DataFrame({ 'V1

    67820
    领券