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

一篇文章就可以跟你聊完Pandas模块的那些常用功能

Pandas 可以说是基于 NumPy 构建的含有更高级数据结构和分析能力的工具包。在 NumPy 中数据结构是围绕 ndarray 展开的,那么在 Pandas 中的核心数据结构是什么呢?...删除 DataFrame 中的不必要的列或行: Pandas 提供了一个便捷的方法 drop() 函数来删除我们不想要的列或行。比如我们想把“语文”这列删掉。...# inplace:刷选过缺失值得新数据是存为副本还是直接在原数据上进行修改。...基于指定列进行连接 比如我们可以基于 name 这列进行连接。 df3 = pd.merge(df1, df2, on='name') 运行结果: ?...3 3.0 3.0 NaN 4 将“A”,“B”,“C”和“D”列中的所有NaN元素分别替换为0,1,2和3。

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

    Pandas缺失数据处理

    中的NaN值来自NumPy库,NumPy中缺失值有几种表示形式:NaN,NAN,nan,他们都一样 缺失值和其它类型的数据不同,它毫无意义,NaN不等于0,也不等于空串 print(pd.isnull(...1 8000 2 27000 把上面创建的my_sq, 直接应用到整个DataFrame中: 使用apply的时候,可以通过axis参数指定按行/ 按列 传入数据 axis = 0 (默认...] z=col[2] return (x+y+z)/3 df.apply(avg_3_apply) 按一列一列执行结果:(一共两列,所以显示两行结果) 创建一个新的列'new_column...',其值为'column1'中每个元素的两倍,当原来的元素大于10的时候,将新列里面的值赋0: import pandas as pd data = {'column1':[1, 2, 15, 4, 8...10,如果是,则将新列'new_column'中的值赋为0 df['new_column'] = df.apply(lambda row: 0 if row['column1'] > 10 else

    11310

    数据科学篇| Pandas库的使用(二)

    Pandas 可以说是基于 NumPy 构建的含有更高级数据结构和分析能力的工具包。在 NumPy 中数据结构是围绕 ndarray 展开的,那么在 Pandas 中的核心数据结构是什么呢?...删除 DataFrame 中的不必要的列或行: Pandas 提供了一个便捷的方法 drop() 函数来删除我们不想要的列或行。比如我们想把“语文”这列删掉。...然后对 df1 中的“语文”列的数值进行 *2 处理,可以写成: 7 8 def double_df(x): 9 return 2*x 10 df1[u'语文'] = df1[u'...基于指定列进行连接 比如我们可以基于 name 这列进行连接。 1 df3 = pd.merge(df1, df2, on='name') 运行结果: ?...NaN 5 63 3.0 3.0 NaN 4 将“A”,“B”,“C”和“D”列中的所有NaN元素分别替换为0,1,2和3。

    4.5K30

    Python 金融编程第二版(二)

    ② 打开文件以读取二进制数据… ③ …并在b对象中读取五个元素。 ④ 使用类型代码double创建一个新的array对象。 ⑤ 从文件中读取两个元素。 ⑥ 类型代码的差异导致“错误”的数字。...③ 创建新对象。 ④ 新ndarray对象的转置。 在重塑操作期间,ndarray对象中的元素总数保持不变。在调整大小操作期间,此数字会更改,即它要么减少(“向下调整”),要么增加(“向上调整”)。...DataFrame对象创建另一个新列。...② 给出组中的行数。 ③ 给出每列的均值。 ④ 给出每列的最大值。 ⑤ 给出每列的最小值和最大值。 也可以通过多个列进行分组。...也可以基于空的 DataFrame 对象进行连接。在这种情况下,列会被顺序创建,导致行为类似于左连接。

    20110

    《利用Python进行数据分析·第2版》第8章 数据规整:聚合、合并和重塑8.1 层次化索引8.2 合并数据集8.3 重塑和轴向旋转8.4 总结

    上面那个DataFrame中的(带有分级名称)列可以这样创建: MultiIndex.from_arrays([['Ohio', 'Ohio', 'Colorado'], ['Green', 'Red'...,并创建一个新的DataFrame: In [31]: frame2 = frame.set_index(['c', 'd']) In [32]: frame2 Out[32]: a...数据库风格的DataFrame合并 数据集的合并(merge)或连接(join)运算是通过一个或多个键将行链接起来的。这些运算是关系型数据库(基于SQL)的核心。...df1中的数据有多个被标记为a和b的行,而df2中key列的每个值则仅对应一行。...它不是将一列转换到多个新的DataFrame,而是合并多个列成为一个,产生一个比输入长的DataFrame。

    2.7K90

    python对100G以上的数据进行排序,都有什么好的方法呢

    为了说明 的使用.sort_index(),首先使用以下方法创建一个新的排序 DataFrame .sort_values(): >>> >>> sorted_df = df.sort_values(by...以下代码基于现有mpgData列创建了一个新列,映射True了mpgData等于Y和NaN不等于的位置: >>> >>> df["mpgData_"] = df["mpgData"].map({"Y":...Automatic 4-spd 1993 NaN [100 rows x 11 columns] 现在你有一个名为新列mpgData_包含这两个True和NaN值。...通常,这是使用 Pandas 分析数据的最常见和首选方法,因为它会创建一个新的 DataFrame 而不是修改原始数据。这允许您保留从文件中读取数据时的数据状态。...Manual 5-spd 1985 True [100 rows x 11 columns] 在df对象中,值现在基于city08列按升序排序。

    10K30

    Pandas Sort:你的 Python 数据排序指南

    为了说明 的使用.sort_index(),首先使用以下方法创建一个新的排序 DataFrame .sort_values(): >>> >>> sorted_df = df.sort_values(by...以下代码基于现有mpgData列创建了一个新列,映射True了mpgData等于Y和NaN不等于的位置: >>> >>> df["mpgData_"] = df["mpgData"].map({"Y":...Automatic 4-spd 1993 NaN [100 rows x 11 columns] 现在你有一个名为新列mpgData_包含这两个True和NaN值。...通常,这是使用 Pandas 分析数据的最常见和首选方法,因为它会创建一个新的 DataFrame 而不是修改原始数据。这允许您保留从文件中读取数据时的数据状态。...Manual 5-spd 1985 True [100 rows x 11 columns] 在df对象中,值现在基于city08列按升序排序。

    14.3K00

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

    除了示例中直接通过pd.DataFrame来直接创建数据框外,还可以使用数据框对象的 df.from_records、df.from_dict、df.from_items 来从元组记录、字典和键值对对象创建数据框...更有效的是,如果数据中的缺失值太多而无法通过列表形式穷举时,replace 还支持正则表达式的写法。 当列中的数据全部为空值时,任何替换方法都将失效,任何基于中位数、众数和均值的策略都将失效。...53, 22, 32, 43]}) print(df) # 打印输出 直接通过DataFrame创建一个7行2列的数据框,打印输出结果如下: col1 col2 0 1 12...的选择功能,即只保留在 df_zscore 中异常列(col1)为 False 的列。...判断方法为 df.duplicated(),该方法中两个主要的参数是 subset 和 keep。 subset:要判断重复值的列,可以指定特定列或多个列。默认使用全部列。

    5K20

    Pandas必会的方法汇总,数据分析必备!

    对象可以是列表\ndarray、字典以及DataFrame中的某一行或某一列 2 pd.DataFrame(data,columns = [ ],index = [ ]) 创建DataFrame。...columns和index为指定的列、行索引,并按照顺序排列 举例:用pandas创建数据表: df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006...序号 方法 说明 1 df.head() 查询数据的前五行 2 df.tail() 查询数据的末尾5行 3 pandas.qcut() 基于秩或基于样本分位数将变量离散化为等大小桶 4 pandas.cut...Index对象 8 .reindex(index, columns ,fill_value, method, limit, copy ) 改变、重排Series和DataFrame索引,会创建一个新对象...() 十、数据转换 序号 方法 说明 1 .replace(old, new) 用新的数据替换老的数据,如果希望一次性替换多个值,old和new可以是列表。

    5.9K20

    Pandas数据结构之DataFrame常见操作

    提取、添加、删除列 用方法链分配新列 索引 / 选择 数据对齐和运算 转置 DataFrame 应用 NumPy 函数 控制台显示 DataFrame 列属性访问和 IPython 代码补全 提取、添加...d NaN NaN False bar NaN 用方法链分配新列 受 dplyr 的 mutate 启发,DataFrame 提供了 assign() 方法,可以利用现有的列创建新列...这种方式常见于在操作链中调用 assign 的操作。...这种操作允许依赖赋值,**kwargs 后的表达式,可以引用同一个 assign() 函数里之前创建的列 。...要想编写支持 3.6 之前或之后版本的 Python 代码,传递 assign 表达式时,要注意以下两点: 更新现有的列 在同一个 assign 引用刚建立的更新列 示例如下,更新列 “A”,然后,在创建

    1.3K40

    Pandas数据结构之DataFrame常见操作

    提取、添加、删除列 用方法链分配新列 索引 / 选择 数据对齐和运算 转置 DataFrame 应用 NumPy 函数 控制台显示 DataFrame 列属性访问和 IPython 代码补全 提取、添加...d NaN NaN False bar NaN 用方法链分配新列 受 dplyr 的 mutate 启发,DataFrame 提供了 assign() 方法,可以利用现有的列创建新列...这种方式常见于在操作链中调用 assign 的操作。...这种操作允许依赖赋值,**kwargs 后的表达式,可以引用同一个 assign() 函数里之前创建的列 。...要想编写支持 3.6 之前或之后版本的 Python 代码,传递 assign 表达式时,要注意以下两点: 更新现有的列 在同一个 assign 引用刚建立的更新列 示例如下,更新列 “A”,然后,在创建

    1.8K20

    Pandas之:Pandas简洁教程

    对象创建 因为Pandas是基于NumPy数组来构建的,所以我们在引用的时候需要同时引用Pandas和NumPy: In [1]: import numpy as np In [2]: import...它就像是Excel中的表格,带有行头和列头。 DataFrame中的每一列都可以看做是一个Series: ? 查看数据 创建好Series和DataFrame之后,我们就可以查看他们的数据了。...有a,b,c,d,e这5列,如果我们再给他加一列f,那么f的初始值将会是NaN: In [55]: df.reindex(columns=list(df.columns) + ['F']) Out[55...可以使用Concat来合并多个df,我们先创建一个df: In [79]: df = pd.DataFrame(np.random.randn(10, 4)) In [80]: df Out[80]:...key foo 6 18 group还可以按多个列进行: In [100]: df2.groupby(['key','lval']).sum() Out[100]:

    1.6K50
    领券