- 导入pandas库,构造多维数据,下面是读取excel数据处理的例子,日常总结经验
1、使用Pandas的read_excel()函数读取Excel文件并将数据用data接收
import pandas as pd
data = pd.read_excel('XXX数据.xlsx')
2、读取的excel数据data接收后,查看excel数据常用的几个函数
head():查看前几行数据,默认为前5行。
tail():查看后几行数据,默认为后5行。
shape:获取数据的维度,即行数和列数。
info():显示数据的基本信息,如列名、数据类型、非空值数量等。
举例函数应用:
import pandas as pd
data = pd.read_excel('XXX数据.xlsx')
#看前几行数据,默认为前5行。
print(data.head())
#查看后几行数据,默认为后5行。
print(data.tail())
#显示数据的基本信息,如列名、数据类型、非空值数量等。
print(data.info())
3、提取某一列的数据
data是一个DataFrame对象,我们希望选择其中几列作为变量x和y。通过使用[[‘column_name’]]语法,我们将列名放在两层方括号中,如[[‘长(cm)’, ‘宽(cm)’, ‘高cm)’, ‘颜色cm)’]]和[[‘类型_num’]]
import pandas as pd
data=pd.read_excel("鸢尾花训练数据.xlsx")
x = data[['萼片长(cm)', '萼片宽(cm)']]
y = data[['类型_num']]
print(x)
print(y)
- Pandas对行/列求和
1、pandas矩阵行:axis=1,列:axis=0;
df.loc[‘合计’] = df.loc[:,[‘语文’,‘数学’,‘英语’]].apply(lambda x:x.sum())
2、所有列求和
df = df.set_index(‘姓名’)
df.loc[‘合计’] = df.apply(lambda x:x.sum(),axis=0)
- DataFrame数据,新建一个列
1、采用df[]方法
import pandas as pd
df = pd.DataFrame(columns=['name', 'number'], data=[['cat', 3]])
# 添加一列,计算有多少条腿
df['leg'] = df['number'] * 4
# 添加一列,直接赋值有几个头
df['head'] = 1
2、采用df.insert()方法
# 使用方法是DataFrame.insert(loc, column, value, allow_duplicates=False) (添加列位置索引序号,添加列名, 数值, 是否允许列名重复)
df.insert(1, 'tail', 1, allow_duplicates=False)
3、采用reindex()函数
# reindex 函数,可以指定缺失值填充的值,
# 缺点是要把原有的列名和新列名都加上,如果列名过多比较麻烦,否则慧替换掉原有的数据
data = data.reindex(columns=['a', 'b', 'c', 'd'], fill_value=0)
下面例子可看出,把原来的数据替换掉了
- DataFrame数据,新增多个列名和行名
1、采用concat()方法
拼接数据,好处是可以同时新增多个列名和行名
# 如果是遍历添加多行,更高效的方法
pd.concat([pd.DataFrame([i], columns=['A']) for i in range(5)], ignore_index=True)
A
0 0
1 1
2 2
3 3
4 4
data = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['a', 'b', 'c'])
data.insert(data.shape[1], 'd', 0)
data['e'] = 0
data = pd.concat([data, pd.DataFrame(columns=['d'])], sort=False)