import pandas as pd
data = pd.read_csv('./docs/test.csv')
print(data)
控制台打印如下:
Unnamed: 0 �ɱ� �ۼ� ���� 0 ���� 180 300 100 1 �Ҿӷ� 120 250 200 2 ţ�п� 80 199 300
出现了中文乱码的情况
我们在读取csv文件时,加一下编码格式
import pandas as pd
data = pd.read_csv('./docs/test.csv', encoding='gb18030')
print(data)
控制台打印正常了
Unnamed: 0 成本 售价 销量 0 羽绒服 180 300 100 1 家居服 120 250 200 2 牛仔裤 80 199 300查看df的行&列索引
print('查看df的行索引:', df.index)
print('查看df的列索引:', df.columns)
控制台
查看df的行索引: RangeIndex(start=0, stop=3, step=1) 查看df的列索引: Index(['Unnamed: 0', '成本', '售价', '销量'], dtype='object')修改行索引/自定义索引(set_index)
df.set_index(['衣服类型'], inplace=True)
print('查看设置行索引后的df:n', df)
控制台
查看设置行索引后的df:
成本 售价 销量
衣服类型
羽绒服 180 300 100
家居服 120 250 200
牛仔裤 80 199 300
查看df的行索引: Index(['羽绒服', '家居服', '牛仔裤'], dtype='object', name='衣服类型')
查看df的列索引: Index(['成本', '售价', '销量'], dtype='object')
读取表“销量”列数据
# 取出表“销量”列数据 data = df['销量'] print(data)
控制台:
0 100 1 200 2 300 Name: 销量, dtype: int64读取出"成本"和"销量"两列的数据
data = df[['成本','销量']] print(data)
控制台
成本 销量 0 180 100 1 120 200 2 80 300查看指定行的内容(loc)
data = df.loc['家居服']
print('读取家居服行的内容:', data)
控制台
读取家居服行的内容: 成本 120 售价 250 销量 200读取多行数据(loc)
data = df.loc['羽绒服':'牛仔裤']
print('读取多行数据:n',data)
控制台
读取多行数据:
成本 售价 销量
衣服类型
羽绒服 180 300 100
家居服 120 250 200
牛仔裤 80 199 300
读取多行数据
data = df["羽绒服":"牛仔裤"]
print('获取多行数据:n', data)
控制台
获取多行数据:
成本 售价 销量
衣服类型
羽绒服 180 300 100
家居服 120 250 200
牛仔裤 80 199 300
读取指定行和指定列的值(通过索引进行访问)
- 查看家居服的售价
price = df.loc['家居服','售价']
print('查看家居服的售价:', price)
控制台
查看家居服的售价: 250
- 查看家居服的销量
sales = df.loc['家居服', '销量']
print('查看家居服的销量:', sales)
控制台
查看家居服的销量: 200读取第一行到第二行的内容(iloc方法)
data = df.iloc[0:1]
print('取出第一行到第二行的内容:n', data)
控制台
取出第一行到第二行的内容:
成本 售价 销量
衣服类型
羽绒服 180 300 100
读取第1,2行,第2,3列数据
data = df.iloc[[0, 1], [1, 2]]
print('第1,2行,第2,3列数据:n', data)
控制台
第1,2行,第2,3列数据:
售价 销量
衣服类型
羽绒服 300 100
家居服 250 200
读取第一行到第三行的内容(所有列)
data = df[0:2]
print('取出第一行到第三行的内容:n', data)
控制台
取出第一行到第三行的内容:
成本 售价 销量
衣服类型
羽绒服 180 300 100
家居服 120 250 200
获取第二行第二列的值(iat取某个单值,只能数字索引)
data = df.iat[1, 1]
print("获取第二行,第二列的值", data)
控制台
获取第二行,第二列的值: 250获取"羽绒服"的"售价"(at取某个单值,只能index和columns索引)
price = df.at['羽绒服', "售价"]
print('查看羽絨服的售价:', price)
控制台
查看羽绒服的售价: 300查看行数&最后一行,第二列的值
len = len(df.values)
value = df.iat[len - 1, 1] # 最后一行,第二列
print('查看行数:', len)
print('输出最后一行,第二列的值:', value)
控制台
查看行数: 3 输出最后一行,第二列的值: 199查看行数&列数(shape)
print('查看行数&列数:', df.shape)
print('查看行数:', df.shape[0])
print('查看列数:', df.shape[1])
控制台
查看行数&列数: (3, 3) 查看行数: 3 查看列数: 3数据处理 乘法运算
df['总销售额'] = df['售价'] * df['销量'] print(df)
控制台
成本 售价 销量 总销售额 衣服类型 羽绒服 180 300 100 30000 家居服 120 250 200 50000 牛仔裤 80 199 300 59700参考资料:
- pandas索引和行列选取总结_coolerpan的博客-CSDN博客_pandas行列索引
- DataFrame通过行、列索引,获取指定位置的值_wenyi瑾年的博客-CSDN博客_dataframe 获取指定位置值



