查看数据概述,包括info() describe() columns dtypes shape index 等基础数据信息python
时间: 2024-09-26 17:13:41 浏览: 38
在Python中,特别是在数据分析和处理库Pandas中,查看数据集的基础信息是非常重要的步骤。这里有一些常用函数帮助你获取数据概述:
1. **`info()`** 函数:这是最常用的函数之一,它会显示DataFrame的基本信息,如列名、非空值数量、数据类型以及内存占用等。这对于了解数据结构和缺失值情况很有帮助。
```python
df.info()
```
2. **`describe()`** 函数:主要用于数值型列的统计描述,包括计数(非空值)、平均值、标准差、最小值、四分位数和最大值。
```python
df.describe()
```
3. **`columns`** 属性:返回列名称列表,你可以通过索引来访问它们。
```python
df.columns
```
4. **`dtypes`** 属性:展示每列的数据类型。
```python
df.dtypes
```
5. **`shape`** 属性:给出DataFrame的行数和列数,即二维数组的形式(行数,列数)。
```python
df.shape
```
6. **`index`** 或 `.index.name` 属性:如果你的数据集有索引,可以查看索引及其名称。
```python
df.index
df.index.name
```
相关问题
查看数据概述,包括info() describe() columns dtypes shape index 等基础数据信息,可以自行扩充。
在Python的pandas库中,有两个主要的方法可以帮助你查看数据集的基本概况:
1. `df.info()`:这个方法提供了一个简洁的概览,包括每个列的名字(column names)、非空值的数量(Non-null values)、数据类型的(Data Types),以及每列的内存占用(Memory usage)。这对于了解数据的整体结构和缺失值分布很有帮助。
```python
print(df.info())
```
2. `df.describe()`:主要用于数值型(numerical)列,它会计算各列的计数(count)、平均值(mean)、标准差(std)、最小值(min)、25%分位数(25%)、中位数(50%)、75%分位数(75%)和最大值(max)。对于理解数据的集中趋势和分散情况非常有用。
```python
print(df.describe(include='number'))
```
`describe()`还可以通过`include=['object']`参数来包含分类变量(categorical variables)的总结。
另外,还有几个属性能获取更详细的元数据:
- `df.columns`:获取所有列名的序列。
- `df.dtypes`:显示每列的数据类型。
- `df.shape`:返回一个包含行数和列数的元组,如`(rows, cols)`。
- `df.index`:返回Series对象,表示DataFrame的行索引。
组合使用这些方法,你可以得到关于数据集的全面视图。
利用DataFrame()方法新建数据,该数据包含10名学生的姓名、年龄和性别,并储存在文件中。(1)分别利用head预览前几行,利用shape获取数据表的大小,利用info获取数据类型,利用describe获取数据分布情况。(2)修改行索引为汉字;设置“姓名”为行索引;重置索引
好的,以下是针对你的问题的代码实现:
```python
import pandas as pd
# 定义数据
data = {'姓名': ['张三', '李四', '王五', '赵六', '钱七', '孙八', '周九', '吴十', '郑华', '陈龙'],
'年龄': [20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
'性别': ['男', '男', '男', '女', '女', '男', '女', '男', '男', '女']}
# 利用DataFrame()方法新建数据
df = pd.DataFrame(data)
# 将数据储存在文件中
df.to_csv('students.csv', index=False)
# 预览前几行
print(df.head())
# 获取数据表的大小
print(df.shape)
# 获取数据类型
print(df.info())
# 获取数据分布情况
print(df.describe())
# 修改行索引为汉字
df.index = ['第一位', '第二位', '第三位', '第四位', '第五位', '第六位', '第七位', '第八位', '第九位', '第十位']
print(df)
# 设置姓名为行索引
df = df.set_index('姓名')
print(df)
# 重置索引
df = df.reset_index()
print(df)
```
输出结果如下:
```
姓名 年龄 性别
0 张三 20 男
1 李四 21 男
2 王五 22 男
3 赵六 23 女
4 钱七 24 女
(10, 3)
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10 entries, 0 to 9
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 姓名 10 non-null object
1 年龄 10 non-null int64
2 性别 10 non-null object
dtypes: int64(1), object(2)
memory usage: 368.0+ bytes
None
年龄
count 10.000000
mean 24.500000
std 3.027650
min 20.000000
25% 22.250000
50% 24.500000
75% 26.750000
max 29.000000
姓名 年龄 性别
第一位 张三 20 男
第二位 李四 21 男
第三位 王五 22 男
第四位 赵六 23 女
第五位 钱七 24 女
第六位 孙八 25 男
第七位 周九 26 女
第八位 吴十 27 男
第九位 郑华 28 男
第十位 陈龙 29 女
年龄 性别
姓名
张三 20 男
李四 21 男
王五 22 男
赵六 23 女
钱七 24 女
孙八 25 男
周九 26 女
吴十 27 男
郑华 28 男
陈龙 29 女
姓名 年龄 性别
0 张三 20 男
1 李四 21 男
2 王五 22 男
3 赵六 23 女
4 钱七 24 女
5 孙八 25 男
6 周九 26 女
7 吴十 27 男
8 郑华 28 男
9 陈龙 29 女
```
阅读全文