pandas笔记

import numpy as nu
import pandas as pd

df=pd.read_csv('train.csv')

df=pd.read_csv(r"C:\Users\86151\Desktop\1\train.csv")

pd.read_csv()默认假设输出文件是逗号分隔,而pd.read_table()是制表符分隔
要让 pd.read_csv 的效果与 pd.read_table 一样,你需要调整 pd.read_csv 的一些参数来模拟 pd.read_table 的默认行为。
这主要包括设置分隔符(sep)为制表符(\t),以及根据需要调整其他可能不同的默认参数。
分隔符不同,字段值中的特殊字符处理不同,使用场景和兼容性不同
在Python中,加载CSV文件通常使用内置的csv模块或pandas库的read_csv函数。
加载TSV文件的方法与加载CSV文件类似,但需要注意指定分隔符为制表符(\t)'''

逐块读取:chunker=pd.read_csv('./train.csv',chunksize=1000)
                        for i in chunker:
                            print(i)

逐块读取是指将大型数据集或文件分成较小的块或段,然后一次只读取和处理一个块,而不是一次性读取整个数据集或文件.
这种技术通过分批处理数据,有效地管理内存使用,并允许对数据集进行逐步分析和处理.
可以显著减少内存的占用,提高整体处理速度,且提供了一种更灵活的方式吃处理数据,使得处理过程更易延展,
逐块读取允许在出现错误时立即停止处理当前块,并继续处理下一个块,从而减少对整体处理过程的影响.
这种错误处理机制使得数据处理过程更加健壮和可靠.
逐块读取允许只读取一小部分数据来进行初步分析,从而帮助确定后续处理步骤和策略.

使用MultiIndex或MultiColumn创建多级表头 如果你的数据表结构允许,并且你想要在表头中展示更丰富的信息(包括中文),你可以考虑使用pandas的MultiIndex(多级索引)来创建多级表头。这虽然不是直接替换英文列名为中文,但可以在视觉上达到类似的效果,特别是当你想要在表头中包含额外的分类或说明。

查看基本信息:info()         前几行:head()        后几行:tail()

判断是否为空:isnull()        查看每列名称:columns

除了del外还有什么方法删除列:

drop方法是pandas中用于删除行或列的一个非常灵活的方法。当需要删除列时,可以通过设置axis=1来指定。
pop方法不仅可以删除列,还可以返回被删除的列的数据,这在需要删除列并同时获取该列数据的情况下非常有用。
当需要删除多列,并且这些列的索引(即列名)已知时,可以通过对列名进行布尔索引来删除这些列。
但这种方法通常不是直接删除列,而是通过选择保留的列来间接实现。不过,通过结合使用~(非)操作符和isin方法,可以实现删除特定列的效果。

reset_index()的作用:reset_index() 是 pandas 库中一个非常有用的方法,主要用于将 DataFrame 的索引重置为默认的整数索引,
或者将某些数据列设置为新的索引,同时可以选择将原来的索引列作为数据列加入到 DataFrame 中。
在执行某些数据处理任务时,如果不使用 reset_index(),可能会遇到以下几种情况:
索引不连续或不符合预期:在进行数据筛选、排序、分组等操作后,DataFrame 的索引可能会变得不连续或者不再按照你期望的顺序排列。
例如,如果你删除了某些行,索引之间可能会出现缺口。虽然这不影响数据的正确性,但在后续处理中可能会因为索引的不连续而导致混淆或错误。
索引成为数据的一部分:在某些情况下,你可能需要将 DataFrame 的索引转换为普通的数据列,以便进行进一步的分析或处理。
如果不使用 reset_index(),你将无法直接将索引作为数据列来使用。在合并或连接 DataFrame 时出现问题:
当你尝试将两个 DataFrame 合并或连接时,如果它们的索引不同或者你不希望使用索引来指导合并过程,
那么直接使用 merge() 或 concat() 等方法可能会导致结果不符合预期。在这种情况下,你可能需要先使用 reset_index() 来重置索引,
然后再进行合并或连接操作。
性能问题:虽然直接使用索引通常比使用普通的列来访问数据更快,但在某些情况下,如果索引非常复杂或庞大,
那么维护这个索引可能会消耗额外的内存和计算资源。在这种情况下,重置索引可能会提高代码的性能和效率

loc和iloc的异同:两者都用于从DataFrame中选择数据,无论是单个元素、多行、多列还是它们的组合。
灵活性:都支持切片(slice)、列表(list)和布尔索引(boolean indexing)等多种索引方式。
不同点
            iloc                                              loc
索引方式    基于整数位置的索引                              基于标签(行名或列名)的索引
索引类型    整数索引                                           标签索引(可以是字符串、整数等)
切片行为    切片时,结束索引不包含在内(遵循左闭右开原则)    切片时,结束索引包含在内(遵循左右都闭原则)
参数    参数为整数或整数列表、整数切片                        参数为标签或标签列表、标签切片
适用场景    当你确切知道数据的整数位置时                     当你通过行名或列名来引用数据时
灵活性    在处理纯数值索引时更为直接和高效

让行索引升序排序
frame.sort_index()

让列索引升序排序
frame.sort_index(axis=1)

让列索引降序排序
frame.sort_index(axis=1,ascending=False)

让任选两列数据同时降序排序
frame.sort_values(by=['a','c'],ascending=False)

describe()

count : 样本数据大小
mean : 样本数据的平均值
std : 样本数据的标准差
min : 样本数据的最小值
25% : 样本数据25%的时候的值
50% : 样本数据50%的时候的值
75% : 样本数据75%的时候的值
max : 样本数据的最大值

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值