pandas新建一个dataframe

pandas新建一个dataframe

pandas新建一个dataframe

简介

在数据处理和分析中,pandas是python中一个非常常用的库。它提供了强大的数据结构和数据分析工具,其中最基本且最常用的数据结构是DataFrame。DataFrame是一个二维的数据结构,可以存储和操作不同数据类型的列。本文将详细介绍如何使用pandas创建一个新的DataFrame,并介绍一些常用的DataFrame操作。

安装pandas

在使用pandas之前,首先需要安装这个库。可以使用pip或conda来安装pandas,下面是使用pip安装pandas的示例代码:

pip install pandas

导入pandas库

在开始之前,需要导入pandas库。一般约定俗成的导入方式是使用import pandas as pd,将pandas库导入,并使用pd作为别名进行引用。下面是一个导入pandas库的示例代码:

import pandas as pd

创建一个空的DataFrame

创建一个空的DataFrame是创建DataFrame的基础步骤,可以使用pd.DataFrame()函数来创建一个空的DataFrame。下面是一个创建空DataFrame的示例代码:

import pandas as pd

df = pd.DataFrame()
print(df)

运行以上代码,输出为:

Empty DataFrame
Columns: []
Index: []

可以看到,创建了一个空的DataFrame,没有任何列或行。

创建一个有数据的DataFrame

创建一个有数据的DataFrame是使用pandas最常见的操作之一。在创建一个有数据的DataFrame时,可以通过传递一个字典、一个列表或一个numpy数组来创建DataFrame。下面将分别介绍这三种方法。

通过传递字典创建DataFrame

可以通过传递一个字典来创建DataFrame。字典的键将成为DataFrame的列名,而对应的值将成为DataFrame的列数据。以下是通过字典创建DataFrame的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)
print(df)

运行以上代码,输出为:

  姓名  年龄 性别
0  张三  25  男
1  李四  30  男
2  王五  35  女

可以看到,通过字典创建了一个DataFrame,并指定了三个列名为’姓名’、’年龄’和’性别’。字典的值对应为DataFrame的列数据。

通过传递列表创建DataFrame

除了通过字典创建DataFrame外,还可以通过传递一个列表来创建DataFrame。列表中的每个元素将成为DataFrame的一列数据。以下是通过列表创建DataFrame的示例代码:

import pandas as pd

data = [['张三', 25, '男'],
        ['李四', 30, '男'],
        ['王五', 35, '女']]

df = pd.DataFrame(data, columns=['姓名', '年龄', '性别'])
print(df)

运行以上代码,输出为:

  姓名  年龄 性别
0  张三  25  男
1  李四  30  男
2  王五  35  女

可以看到,通过列表创建了一个DataFrame,并指定了三个列名为’姓名’、’年龄’和’性别’。列表中的每个元素对应为DataFrame的一列数据。

通过传递numpy数组创建DataFrame

另一种创建DataFrame的方法是通过传递一个numpy数组。numpy数组类似于列表,列表中的每个元素将成为DataFrame的一列数据。以下是通过numpy数组创建DataFrame的示例代码:

import pandas as pd
import numpy as np

data = np.array([['张三', 25, '男'],
                 ['李四', 30, '男'],
                 ['王五', 35, '女']])

df = pd.DataFrame(data, columns=['姓名', '年龄', '性别'])
print(df)

运行以上代码,输出为:

  姓名  年龄 性别
0  张三  25  男
1  李四  30  男
2  王五  35  女

可以看到,通过numpy数组创建了一个DataFrame,并指定了三个列名为’姓名’、’年龄’和’性别’。numpy数组中的每个元素对应为DataFrame的一列数据。

操作DataFrame的属性和方法

pandas的DataFrame提供了许多属性和方法,用于操作和处理数据。下面将介绍一些常用的属性和方法。

查看DataFrame的形状

可以使用.shape属性查看DataFrame的形状,即行数和列数。以下是查看DataFrame形状的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)

print(df.shape)

运行以上代码,输出为:

(3, 3)

可以看到,DataFrame的形状为3行3列。

查看DataFrame的列名

可以使用.columns属性查看DataFrame的列名。以下是查看DataFrame列名的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)

print(df.columns)

运行以上代码,输出为:

Index(['姓名', '年龄', '性别'], dtype='object')

可以看到,DataFrame的列名为’姓名’、’年龄’和’性别’。

查看DataFrame的索引

可以使用.index属性查看DataFrame的索引。以下是查看DataFrame索引的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)

print(df.index)

运行以上代码,输出为:

RangeIndex(start=0, stop=3, step=1)

可以看到,DataFrame的索引为0、1、2。

查看DataFrame的数据类型

可以使用.dtypes属性查看DataFrame的每列数据的数据类型。以下是查看DataFrame数据类型的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)

print(df.dtypes)

运行以上代码,输出为:

姓名    object
年龄     int64
性别    object
dtype: object

可以看到,DataFrame中的’姓名’和’性别’列的数据类型为object(字符串),而’年龄’列的数据类型为int64。

查看DataFrame的前几行数据

可以使用.head()方法查看DataFrame的前几行数据,默认情况下,.head()方法会返回前5行数据。以下是查看DataFrame前几行数据的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五', '赵六', '钱七'],
        '年龄': [25, 30, 35, 40, 45],
        '性别': ['男', '男', '女', '男', '女']}

df = pd.DataFrame(data)

print(df.head())

运行以上代码,输出为:

  姓名  年龄 性别
0  张三  25  男
1  李四  30  男
2  王五  35  女
3  赵六  40  男
4  钱七  45  女

可以看到,默认情况下,查看DataFrame的前5行数据。

查看DataFrame的后几行数据

与查看前几行数据类似,可以使用.tail()方法查看DataFrame的后几行数据,默认情况下,.tail()方法会返回后5行数据。以下是查看DataFrame后几行数据的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五', '赵六', '钱七'],
        '年龄': [25, 30, 35, 40, 45],
        '性别': ['男', '男', '女', '男', '女']}

df = pd.DataFrame(data)

print(df.tail())

运行以上代码,输出为:

  姓名  年龄 性别
0  张三  25  男
1  李四  30  男
2  王五  35  女
3  赵六  40  男
4  钱七  45  女

可以看到,默认情况下,查看DataFrame的后5行数据。

访问DataFrame的列

可以通过列名来访问DataFrame的某一列。以下是访问DataFrame列的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)

print(df['姓名'])

运行以上代码,输出为:

0    张三
1    李四
2    王五
Name: 姓名, dtype: object

可以看到,通过列名’姓名’来访问DataFrame的这一列。

访问DataFrame的多列

可以通过传递包含多个列名的列表来访问DataFrame的多列。以下是访问DataFrame多列的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)

print(df[['姓名', '性别']])

运行以上代码,输出为:

  姓名 性别
0  张三  男
1  李四  男
2  王五  女

可以看到,通过传递包含列名的列表来访问DataFrame的这两列。

访问DataFrame的特定行

可以使用.loc属性来访问DataFrame的特定行。以下是访问DataFrame特定行的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)

print(df.loc[0])

运行以上代码,输出为:

姓名    张三
年龄    25
性别     男
Name: 0, dtype: object

可以看到,通过.loc属性来访问DataFrame的第一行数据。

访问DataFrame的特定行和列

可以使用.loc属性来访问DataFrame的特定行和列。以下是访问DataFrame特定行和列的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)

print(df.loc[0, '姓名'])

运行以上代码,输出为:

张三

可以看到,通过.loc属性来访问DataFrame的第一行第一列的数据。

过滤DataFrame的行

可以使用布尔条件来过滤DataFrame的行。以下是过滤DataFrame行的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)

filtered_df = df[df['年龄'] >= 30]
print(filtered_df)

运行以上代码,输出为:

  姓名  年龄 性别
1  李四  30  男
2  王五  35  女

可以看到,通过布尔条件df['年龄'] >= 30过滤DataFrame的行数据。

添加新列到DataFrame

可以使用赋值符号=将新列添加到DataFrame。以下是添加新列到DataFrame的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)

df['工资'] = [5000, 6000, 7000]
print(df)

运行以上代码,输出为:

  姓名  年龄 性别   工资
0  张三  25  男  5000
1  李四  30  男  6000
2  王五  35  女  7000

可以看到,通过赋值符号=将名为’工资’的新列添加到DataFrame。

删除DataFrame的列

可以使用del关键字来删除DataFrame的列。以下是删除DataFrame列的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)

del df['性别']
print(df)

运行以上代码,输出为:

  姓名  年龄
0  张三  25
1  李四  30
2  王五  35

可以看到,通过del关键字删除DataFrame的’性别’列。

更新DataFrame的值

可以使用赋值符号=来更新DataFrame中的特定值。以下是更新DataFrame的值的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)

df.loc[0, '姓名'] = '赵六'
print(df)

运行以上代码,输出为:

  姓名  年龄 性别
0  赵六  25  男
1  李四  30  男
2  王五  35  女

可以看到,通过赋值符号=来更新DataFrame中第一行’姓名’列的值。

重命名DataFrame的列

可以使用.rename()方法来重命名DataFrame的列。以下是重命名DataFrame列的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)

df = df.rename(columns={'姓名': 'Name', '年龄': 'Age', '性别': 'Gender'})
print(df)

运行以上代码,输出为:

  Name  Age Gender
0   张三   25      男
1   李四   30      男
2   王五   35      女

可以看到,通过.rename()方法将DataFrame的列’姓名’、’年龄’、’性别’重命名为’Name’、’Age’、’Gender’。

排序DataFrame

可以使用.sort_values()方法对DataFrame进行排序。以下是排序DataFrame的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '性别': ['男', '男', '女']}

df = pd.DataFrame(data)

df = df.sort_values(by='年龄', ascending=False)
print(df)

运行以上代码,输出为:

  姓名  年龄 性别
2  王五  35  女
1  李四  30  男
0  张三  25  男

可以看到,通过.sort_values()方法按照’年龄’列对DataFrame进行降序排序。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程