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

Python数据分析的数据导入和导出

ps:read_excel方法返回的结果是DataFrame, DataFrame的一列对应着Excel的一列。...示例 nrows 导入前5行数据 usecols 控制输入第一列和第三列 导入CSV格式数据 CSV是一种用分隔符分割的文件格式。...error_bad_lines(可选,默认为True):用于指定是否跳过包含错误的行。 warn_bad_lines(可选,默认为True):用于指定是否显示跳过包含错误的行的警告信息。...注意事项: 读取的JSON文件必须存在并且格式正确,否则函数将会抛出异常。 JSON文件可以包含不同类型的数据,如字符串、数字、布尔值、列表、字典等。...返回值: 如果HTML文件中只有一个表格,则返回一个DataFrame对象。 如果HTML文件中有多个表格,则返回一个包含所有表格的列表,每个表格都以DataFrame对象的形式存储在列表中。

26510

Pandas数据聚合:groupby与agg

groupby返回的是一个GroupBy对象,该对象本身并不包含任何聚合结果,而是提供了一个接口来应用各种聚合函数。 agg 方法 agg(aggregate的缩写)用于对分组后的数据进行聚合计算。...缺失值处理:默认情况下,groupby会忽略含有NaN值的行。可以通过设置dropna=False参数来保留这些行。 性能优化:对于大规模数据集,直接使用groupby可能会导致性能瓶颈。...此时可以考虑使用更高效的替代方案,如pivot_table或crosstab。 常见报错及解决方案 KeyError: 如果指定的分组键不存在于DataFrame中,会抛出此异常。...检查拼写是否正确,并确认列确实存在于DataFrame中。 TypeError: 当尝试对非数值类型的数据应用某些聚合函数(如求和)时,可能会遇到类型错误。...自定义函数需要接收一个Series作为输入,并返回一个标量值。 多个聚合函数 有时我们需要对同一列应用多个聚合函数。agg允许我们通过传递一个包含多个函数的列表来实现这一点。

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

    通宵翻译Pandas官方文档,写了这份Excel万字肝货操作!

    在 Pandas 中,索引可以设置为一个(或多个)唯一值,这就像在工作表中有一列用作行标识符一样。与大多数电子表格不同,这些索引值实际上可用于引用行。...索引值也是持久的,所以如果你对 DataFrame 中的行重新排序,特定行的标签不会改变。 5. 副本与就地操作 大多数 Pandas 操作返回 Series/DataFrame 的副本。...我们可以用多种不同的方式构建一个DataFrame,但对于少量的值,通常将其指定为 Python 字典会很方便,其中键是列名,值是数据。...日期功能 本节将提到“日期”,但时间戳的处理方式类似。 我们可以将日期功能分为两部分:解析和输出。在Excel电子表格中,日期值通常会自动解析,但如果您需要,还有一个 DATEVALUE 函数。...在 Pandas 中,您通常希望在使用日期进行计算时将日期保留为日期时间对象。输出部分日期(例如年份)是通过电子表格中的日期函数和 Pandas 中的日期时间属性完成的。

    19.6K20

    针对SAS用户:Python数据分析库pandas

    可以认为Series是一个索引、一维数组、类似一列值。可以认为DataFrames是包含行和列的二维数组索引。好比Excel单元格按行和列位置寻址。...DataFrame的.head()方法默认显示前5行。.tail()方法默认显示最后5行。行计数值可以是任意整数值,如: ? SAS使用FIRSTOBS和OBS选项按照程序来确定输入观察数。...为了说明.fillna()方法,请考虑用以下内容来创建DataFrame。 ? ? ? ? 默认情况下,.dropna()方法删除其中找到任何空值的整个行或列。 ? ?...在这种情况下,行"d"被删除,因为它只包含3个非空值。 ? ? 可以插入或替换缺失值,而不是删除行和列。.fillna()方法返回替换空值的Series或DataFrame。...记录删除部分为0.009% 除了错误的情况,.dropna()是函数是静默的。我们可以在应用该方法后验证DataFrame的shape。 ?

    12.1K20

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

    在开始之前,先快速回顾一下pandas -中的查询函数query。查询函数用于根据指定的表达式提取记录,并返回一个新的DataFrame。表达式是用字符串形式表示的条件或条件的组合。...所以要过滤pandas DataFrame,需要做的就是在查询函数中指定条件即可。 使用单一条件进行过滤 在单个条件下进行过滤时,在Query()函数中表达式仅包含一个条件。...它返回了数量为95的所有行。如果用一般查询的方式可以写成: df [df [“Quantity”] == 95] 但是,如果想在同一列中再包含一个条件怎么办?...,其中状态列包含值 - “未发货”。...日期时间列过滤 使用Query()函数在日期时间值上进行查询的唯一要求是,包含这些值的列应为数据类型dateTime64 [ns] 在示例数据中,OrderDate列是日期时间,但是我们的df其解析为字符串

    4.5K10

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

    在后端pandas使用eval()函数对该表达式进行解析和求值,并返回表达式被求值为TRUE的数据子集或记录。所以要过滤pandas DataFrame,需要做的就是在查询函数中指定条件即可。...使用单一条件进行过滤 在单个条件下进行过滤时,在Query()函数中表达式仅包含一个条件。返回的输出将包含该表达式评估为真的所有行。...它返回了数量为95的所有行。如果用一般查询的方式可以写成: df [df [“Quantity”] == 95] 但是,如果想在同一列中再包含一个条件怎么办?...示例5 想获得即状态“未发货”所有记录,可以在query()表达式中写成如下的形式: df.query("Status == 'Not Shipped'") 它返回所有记录,其中状态列包含值 - “未发货...日期时间列过滤 使用Query()函数在日期时间值上进行查询的唯一要求是,包含这些值的列应为数据类型dateTime64 [ns] 在示例数据中,OrderDate列是日期时间,但是我们的df其解析为字符串

    4.4K20

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

    在开始之前,先快速回顾一下Pandas中的查询函数query。查询函数用于根据指定的表达式提取记录,并返回一个新的DataFrame。表达式是用字符串形式表示的条件或条件的组合。...在后端Pandas使用eval()函数对该表达式进行解析和求值,并返回表达式被求值为TRUE的数据子集或记录。所以要过滤Pandas中的DataFrame,需要做的就是在查询函数中指定条件即可。...使用单一条件进行过滤 在单个条件下进行过滤时,在Query()函数中表达式仅包含一个条件。返回的输出将包含该表达式评估为真的所有行。...示例5 想获得即状态“未发货”所有记录,可以在query()表达式中写成如下的形式: df.query("Status == 'Not Shipped'") output 它返回所有记录,其中状态列包含值...日期时间列过滤 使用query()函数在日期时间值上进行查询的唯一要求是,包含这些值的列应为数据类型dateTime64 [ns] 在示例数据中,OrderDate列是日期时间,但是我们的df其解析为字符串

    24120

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

    在开始之前,先快速回顾一下Pandas中的查询函数query。查询函数用于根据指定的表达式提取记录,并返回一个新的DataFrame。表达式是用字符串形式表示的条件或条件的组合。...在后端Pandas使用eval()函数对该表达式进行解析和求值,并返回表达式被求值为TRUE的数据子集或记录。所以要过滤Pandas中的DataFrame,需要做的就是在查询函数中指定条件即可。...使用单一条件进行过滤 在单个条件下进行过滤时,在Query()函数中表达式仅包含一个条件。返回的输出将包含该表达式评估为真的所有行。...示例5 想获得即状态“未发货”所有记录,可以在query()表达式中写成如下的形式: df.query("Status == 'Not Shipped'") output 它返回所有记录,其中状态列包含值...日期时间列过滤 使用query()函数在日期时间值上进行查询的唯一要求是,包含这些值的列应为数据类型dateTime64 [ns] 在示例数据中,OrderDate列是日期时间,但是我们的df其解析为字符串

    3.9K20

    数据分析利器--Pandas

    默认为False data_parser 用来解析日期的函数 nrows 从文件开始读取的行数 iterator 返回一个TextParser对象,用于读取部分内容 chunksize 指定读取块的大小...skip_footer 文件末尾需要忽略的行数 verbose 输出各种解析输出的信息 encoding 文件编码 squeeze 如果解析的数据只包含一列,则返回一个Series thousands...千数量的分隔符 3.5处理无效值 这里需要掌握三个函数: pandas.isna(): 判断哪些值是无效的 pandas.DataFrame.dropna(): 抛弃无效值 pandas.DataFrame.fillna...(): 将无效值替换成为有效值 具体用法参照:处理无效值 4、Pandas常用函数 函数 用法 DataFrame.duplicated() DataFrame的duplicated方法返回一个布尔型...DataFrame.drop_duplicates() 它用于返回一个移除了重复行的DataFrame DataFrame.fillna() 将无效值替换成为有效值 5、Pandas常用知识点 5.1

    3.7K30

    7步搞定数据清洗-Python数据清洗指南

    日期调整前(为求简便这里用已经剔除分秒,剔除的办法后面在格式一致化的空格分割再详细说) #数据类型转换:字符串转换为日期 #errors='coerce' 如果原始数据不符合日期的格式,转换后的值为空值...修改后 四、选择部分子集 这是一个8列*541909行的数据集。 ? ? #选择子集,选择其中一列 subDataDF1=DataDF["InvoiceDate"] ?...空格分割 #定义函数:分割InvoiceDate,获取InvoiceDate #输入:timeColSer InvoiceDate这一列,是个Series数据类型 #输出:分割后的时间,返回也是个Series...axis=1表示逢空值去掉整列 # 'any'如果一行(或一列)里任何一个数据有任何出现Nan就去掉整行, ‘all’一行(或列)每一个数据都是Nan才去掉这整行 DataDF.dropna(how.../pandas.DataFrame.fillna.html#pandas.DataFrame.fillna 1) 用默认值填充- df.fillna(' ') 我们应该去掉那些不友好的 NaN 值。

    4.5K20

    Pandas速查手册中文版

    = pd.date_range('1900/1/30', periods=df.shape[0]):增加一个日期索引 查看、检查数据 df.head(n):查看DataFrame对象的前n行 df.tail...():检查DataFrame对象中的空值,并返回一个Boolean数组 pd.notnull():检查DataFrame对象中的非空值,并返回一个Boolean数组 df.dropna():删除所有包含空值的行...df.dropna(axis=1):删除所有包含空值的列 df.dropna(axis=1,thresh=n):删除所有小于n个非空值的行 df.fillna(x):用x替换DataFrame对象中所有的空值...agg(np.mean):返回按列col1分组的所有列的均值 data.apply(np.mean):对DataFrame中的每一列应用函数np.mean data.apply(np.max,axis=...():返回所有列的均值 df.corr():返回列与列之间的相关系数 df.count():返回每一列中的非空值的个数 df.max():返回每一列的最大值 df.min():返回每一列的最小值 df.median

    12.2K92

    Pandas_Study02

    pandas 数据清洗 1. 去除 NaN 值 在Pandas的各类数据Series和DataFrame里字段值为NaN的为缺失数据,不代表0而是说没有赋值数据,类似于python中的None值。...复杂的 使用向前 或 向后 填充数据,依旧使用fillna 方法,所谓向前 是指 取出现NaN值的前一列或前一行的数据来填充NaN值,向后同理 # 在df 的e 这一列上操作,默认下按行操作,向前填充数据...,会从最近的那个非NaN值开始将之后的位置全部填充,填充的数值为列上保留数据的最大值最小值之间的浮点数值。...([df1, df2]) 当然,列标和行标不一定是对应的,这个时候两DataFrame未匹配上的label或columns下的值为NaN concat 函数 同样的可以指定是按行操作还是按列操作。...size函数则是可以返回所有分组的字节大小。count函数可以统计分组后各列数据项个数。get_group函数可以返回指定组的数据信息。而discribe函数可以返回分组后的数据的统计数据。

    20510

    数据导入与预处理-第6章-02数据变换

    转换函数如: 其中 max为样本数据的最大值,min为样本数据的最小值。max-min为极差。 以一个例子说明标准化的计算过程。...,将出售日期一列的唯一值变换成行索引。...,商品一列的唯一数据变换为列索引: # 将出售日期一列的唯一数据变换为行索引,商品一列的唯一数据变换为列索引 new_df = df_obj.pivot(index='出售日期', columns='商品名称...使用pandas的groupby()方法拆分数据后会返回一个GroupBy类的对象,该对象是一个可迭代对象,它里面包含了每个分组的具体信息,但无法直接被显示。...cut()函数会返回一个Categorical类对象,该对象可以被看作一个包含若干个面元名称的数组,通过categories属性可以获取所有的分类,即每个数据对应的面元。

    19.3K20

    整理了 25 个 Pandas 实用技巧,拿走不谢!

    显示已安装的版本 输入下面的命令查询pandas版本: ? 如果你还想知道pandas所依赖的模块的版本,你可以使用show_versions()函数: ?...你可以对前两列使用astype()函数: ? 但是,如果你对第三列也使用这个函数,将会引起错误,这是因为这一列包含了破折号(用来表示0)但是pandas并不知道如何处理它。...类似地,你可以通过mean()和isna()函数找出每一列中缺失值的百分比。 ? 如果你想要舍弃那些包含了缺失值的列,你可以使用dropna()函数: ?...或者你想要舍弃那么缺失值占比超过10%的列,你可以给dropna()设置一个阈值: ? len(ufo)返回总行数,我们将它乘以0.9,以告诉pandas保留那些至少90%的值不是缺失值的列。...比这个函数的输入要小: ? 解决的办法是使用transform()函数,它会执行相同的操作但是返回与输入数据相同的形状: ? 我们将这个结果存储至DataFrame中新的一列: ?

    3.2K10

    数据分析篇 | PyCon 大咖亲传 pandas 25 式,长文建议收藏

    操控缺失值 把字符串分割为多列 把 Series 里的列表转换为 DataFrame 用多个函数聚合 用一个 DataFrame 合并聚合的输出结果 选择行与列 重塑多重索引 Series 创建透视表...如果 DataFrame 的数据较多,用字典的方式就不合适了,需要输入的东西太多。...为了解决这个问题,可以使用 to_numeric() 函数来处理第三列,让 pandas 把任意无效输入转为 NaN。 ? NaN 代表的是 0,可以用 fillna() 方法填充。 ?...使用 Python 内置的 glob 更方便。 ? 把文件名规则传递给 glob(),这里包括通配符,即可返回包含所有合规文件名的列表。...sum() 是聚合函数,该函数返回结果的行数(1834行)比原始数据的行数(4622行)少。 ?

    7.2K20

    超全的pandas数据分析常用函数总结:上篇

    基础知识在数据分析中就像是九阳神功,熟练的掌握,加以运用,就可以练就深厚的内力,成为绝顶高手自然不在话下! 为了更好地学习数据分析,我对于数据分析中pandas这一模块里面常用的函数进行了总结。...整篇总结,在详尽且通俗易懂的基础上,我力求使其有很强的条理性和逻辑性,所以制作了思维导图,对于每一个值得深究的函数用法,我也会附上官方链接,方便大家继续深入学习。...# 查看整个数据集的空值 data['department'].isnull() # 查看某一列的空值 输出结果: ?.../pandas.DataFrame.sort_values.html 4.2.2 空值处理 pandas.DataFrame.fillna(value = None,method = None,inplace...= 'Japan').all(1)] #去掉所有包含Japan的行 不等于Japan的行为真,则返回 data2 方法二 data['origin'].drop_duplicates()

    3.6K31

    Pandas_Study01

    pandas 入门概念 series 和 dataframe 这是pandas 中最为基本的两个概念,series 类似于一维数组,可以近似当成普通的数组进行操作,对于series 默认会有行索引为它索引...访问dataframe 元素的方式 # 获取dataframe 一列的数据 df['日期'] # 获取dataframe 几列的数据 df[['x', 'y']] # 同样的也可以使用loc 按标签取...,否则按列连接 # 删除一列,在原有的dataframe上进行操作 del df['日期'] 或是使用 pop 方法,返回被删除的数据列(只能是某一列) df.pop('cx') # 通过 drop...pandas 常用函数 pandas中的函数 一般会有两种结果,一是copy,即返回一个修改后的副本,原有的不变,二是inplace,即在原有基础上直接进行修改。...补充: divmod(x, y) divmod() 函数返回当参数 1 除以参数 2 时包含商和余数的元组。

    20110

    Pandas最详细教程来了!

    惯例是将pandas简写为pd,命令如下: import pandas as pd Pandas包含两个主要的数据结构:Series和DataFrame。...每列都可以是不同的数据类型(数值、字符串、布尔值等)。 DataFrame既有行索引也有列索引,这两种索引在DataFrame的实现上,本质上是一样的。...这里的索引是显式指定的。如果没有指定,会自动生成从0开始的数字索引。 列标签,表头的A、B、C就是标签部分,代表了每一列的名称。 下文列出了DataFrame函数常用的参数。...date_range函数的参数及说明如下所示: start:字符串/日期时间 | 开始日期;默认为None end:字符串/日期时间 | 结束日期;默认为None periods:整数/None | 如果...▲图3-27 可以看到,使用loc的时候,x索引和y索引都必须是标签值。对于这个例子,使用日期索引明显不方便,需要输入较长的字符串,所以使用绝对位置会更好。

    3.2K11
    领券