python进阶|Pandas数据分析
Pandas数据类型
series-一维,带标签数组
DataFrame-二维,series容器
读写文件
文本文件(txt,csv, etc.)
文本文件存储的数据表单一般以某个分隔符隔开(csv文件默认是 , )如下:
1 | PassengerId,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked |
对于此类文本文件都可以通过 read_csv() 进行读取:
1 | import pandas as pd |
其中,可以规定相应的编码方式和分隔符。
此外还有:
| 参数 | 使用 |
|---|---|
filepath_or_buffer | 文件的URL或Dir位置。 |
sep | 代表分隔符,默认为csv(逗号分隔值)中的, 。 |
index_col | 该参数用于将所传递的列作为索引,而不是0,1,2,...,n。 |
header | 该参数用于将传递的行[int/int list]作为标题。 |
use_cols | 这个参数只使用传递的列[字符串列表]来制作数据框。 |
squeeze | 如果是True并且只传递了一列,则返回pandas.Series |
skiprows | 该参数用于跳过前 n 行。 |
skipfooter | 该参数用于跳过文件底部的 n行。 |
大型文件读取
打开和处理超大的 CSV 文件时需要考虑到计算机本身的内存限制。
使用 read_csv() 函数的 chunksize 参数来分块读取文件。这将返回一个迭代器,可以逐块读取文件。
1 | import pandas as pd |
在处理数据时尽量使用 Pandas 中的原地操作(inplace operation),以避免复制数据。比如要在数据中添加一列,可以使用 df['new_column'] = ... 而不是创建一个新的 DataFrame。
如果只需要读取个别列。使用 usecols参数:
1 | df = pd.read_csv('large_file.csv', usecols=['col1', 'col2', 'col3']) |
另外,还可以将不需要的数据类型转换为更小的类型。例如,如果数据中的整数都是正整数,则可以将它们转换为无符号整数类型。
1 | df['col1'] = df['col1'].astype('uint32') |
使用 low_memory=False 参数来读取整个文件到内存中。这样做可能会导致内存不足错误,但有时也可能比逐块读取更快。
1 | df = pd.read_csv('large_file.csv', low_memory=False) |
数据筛选
待更:python 数据全部显示,去掉中间省略号的终极办法_spyder读取excel有省略-CSDN博客
15_Pandas计算元素的数量和频率(出现的次数)_pandas统计元素个数-CSDN博客
数据合并
参考资料
评论



