pandas 数据处理

pandas官方用户文档

一、基本数据处理

# 引入工具包
import pandas as pd
import numpy as np

1.数据读取

# 1.获取路径
path = ''
# 2.读取文件
# excel文件
data = pd.read_excel(path)
# csv文件
data = pd.read_csv(path)

2.查看数据信息

# 1.head()函数默认查看前5行数据
print(data.head())
# 2.info()函数,可以了解各列数据类型和长度以及内存占用情况
print(data.info())
# 3.describe()函数,输出最大值、最小值、平均值、数量等信息
print(data.describe())

3.文件类型转换

由于使用pandas读取数据之后,数据类型为DataFrame,所以可以直接调用pandas提供的转换函数。

3.1 DataFrame

# 1.转为csv
data.to_csv(path+'name.csv',encoding='utf-8',index=False)
# 2.转为字典格式
data.to_dict()
# 3.转为excel
data.to_excel()
# 4.转为numpy,narray类型
data.to_numpy()

此处如果出现乱码则可以将编码方式改为utf-8-sig

3.2 Series

可在文档中搜索pandas.Series.to_,也可以将Series格式转换成csv在内的一些格式。


4.数据处理

4.1 行列操作

增加行和列

增加列
data['new_colname']=1  #赋值为固定值

使用eval()函数,example:

>>> df = pd.DataFrame({'A': range(1, 6), 'B': range(10, 0, -2)})
>>> df
   A   B
0  1  10
1  2   8
2  3   6
3  4   4
4  5   2
>>> df.eval('A + B')
0    11
1    10
2     9
3     8
4     7
dtype: int64

使用insert函数插入

>>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
>>> df
   col1  col2
0     1     3
1     2     4
>>> df.insert(1, "newcol", [99, 99])
>>> df
   col1  newcol  col2
0     1      99     3
1     2      99     4
>>> df.insert(0, "col1", [100, 100], allow_duplicates=True)
>>> df
   col1  col1  newcol  col2
0   100     1      99     3
1   100     2      99     4
>>> df.insert(0, "col0", pd.Series([5, 6], index=[1, 2]))
>>> df
   col0  col1  col1  newcol  col2
0   NaN   100     1      99     3
1   5.0   100     2      99     4
增加行

删除行和列

删除行
>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),
...                   columns=['A', 'B', 'C', 'D'])
>>> df
   A  B   C   D
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11
>>> df.drop(['B', 'C'], axis=1)
   A   D
0  0   3
1  4   7
2  8  11
>>> df.drop(columns=['B', 'C'])
   A   D
0  0   3
1  4   7
2  8  11
>>> midx = pd.MultiIndex(levels=[['lama', 'cow', 'falcon'],
...                              ['speed', 'weight', 'length']],
...                      codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],
...                             [0, 1, 2, 0, 1, 2, 0, 1, 2]])
>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],
...                   data=[[45, 30], [200, 100], [1.5, 1], [30, 20],
...                         [250, 150], [1.5, 0.8], [320, 250],
...                         [1, 0.8], [0.3, 0.2]])
>>> df
                big     small
lama    speed   45.0    30.0
        weight  200.0   100.0
        length  1.5     1.0
cow     speed   30.0    20.0
        weight  250.0   150.0
        length  1.5     0.8
falcon  speed   320.0   250.0
        weight  1.0     0.8
        length  0.3     0.2

4.2 修改索引和字段


其它

  1. python cat(dim=-1)在最后一维进行拼接

你可能感兴趣的:(pandas)