pandas创建dataframe

pandas创建dataframe

pandas创建dataframe

一、介绍

在数据分析和处理中,pandas是一个非常强大和常用的Python库。它提供了丰富的数据结构和数据处理工具,其中最重要的就是DataFrame。DataFrame是一个二维的表格数据结构,类似于Excel或SQL中的表,可以方便地存储、处理和分析数据。

本文将详细介绍如何使用pandas创建DataFrame,并提供一些示例代码和运行结果。

二、pandas创建DataFrame的方法

pandas提供了多种方法来创建DataFrame,包括从二维数组、字典、CSV文件、Excel文件等多种数据来源。

1. 从二维数组创建DataFrame

可以使用pd.DataFrame()函数从一个二维数组创建DataFrame。二维数组可以是一个嵌套的列表,每个列表代表一行数据。

下面是一个从二维数组创建DataFrame的示例代码:

import pandas as pd

data = [[1, 'Alice', 25],
        [2, 'Bob', 30],
        [3, 'Charlie', 35]]

df = pd.DataFrame(data, columns=['ID', 'Name', 'Age'])
print(df)

运行上述代码,输出如下:

   ID     Name  Age
0   1    Alice   25
1   2      Bob   30
2   3  Charlie   35

2. 从字典创建DataFrame

可以使用pd.DataFrame()函数从一个字典创建DataFrame。字典的key表示列名,value表示每一列的数据。

下面是一个从字典创建DataFrame的示例代码:

import pandas as pd

data = {'ID': [1, 2, 3],
        'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35]}

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

运行上述代码,输出如下:

   ID     Name  Age
0   1    Alice   25
1   2      Bob   30
2   3  Charlie   35

3. 从CSV文件创建DataFrame

使用pd.read_csv()函数可以从CSV文件中读取数据并创建DataFrame。

下面是一个从CSV文件创建DataFrame的示例代码:

import pandas as pd

df = pd.read_csv('data.csv')
print(df)

其中,’data.csv’是CSV文件的路径和文件名。

4. 从Excel文件创建DataFrame

使用pd.read_excel()函数可以从Excel文件中读取数据并创建DataFrame。

下面是一个从Excel文件创建DataFrame的示例代码:

import pandas as pd

df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
print(df)

其中,’data.xlsx’是Excel文件的路径和文件名,’Sheet1’是Excel工作表的名称。如果不指定sheet_name,默认读取第一个工作表。

三、DataFrame基本操作

创建了DataFrame后,可以进行多种操作,包括对数据的增、删、改、查等。

1. 查看DataFrame的基本信息

使用df.head()方法可以查看DataFrame的前几行,默认为前5行;使用df.tail()方法可以查看DataFrame的后几行,默认为后5行。

使用df.shape可以查看DataFrame的形状,即行数和列数。

使用df.columns可以查看DataFrame的列名。

使用df.info()可以查看DataFrame的基本信息,包括每列的数据类型和非空值的数量。

下面是一些基本信息查看的示例代码:

import pandas as pd

data = {'ID': [1, 2, 3],
        'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35]}

df = pd.DataFrame(data)
print(df.head())
print(df.tail())
print(df.shape)
print(df.columns)
print(df.info())

运行上述代码,输出如下:

   ID     Name  Age
0   1    Alice   25
1   2      Bob   30
2   3  Charlie   35

   ID     Name  Age
0   1    Alice   25
1   2      Bob   30
2   3  Charlie   35

(3, 3)

Index(['ID', 'Name', 'Age'], dtype='object')

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   ID      3 non-null      int64 
 1   Name    3 non-null      object
 2   Age     3 non-null      int64 
dtypes: int64(2), object(1)
memory usage: 200.0+ bytes
None

2. 索引和切片DataFrame

使用df['column_name']可以索引DataFrame的一列数据。

使用df[['column_name1', 'column_name2']]可以索引DataFrame的多列数据。

使用df.loc[index]可以索引DataFrame的某一行数据,其中index为行的索引值。

使用df.loc[start_index:end_index]可以切片DataFrame的多行数据,包括start_index和end_index。

使用df.iloc[row_index, col_index]可以按位置索引DataFrame的数据,其中row_index为行的位置索引,col_index为列的位置索引。

下面是一些索引和切片的示例代码:

import pandas as pd

data = {'ID': [1, 2, 3],
        'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35]}

df = pd.DataFrame(data)
print(df['Name'])
print(df[['ID', 'Age']])
print(df.loc[0])
print(df.loc[0:1])
print(df.iloc[0, 1])

运行上述代码,输出如下:

0      Alice
1        Bob
2    Charlie
Name: Name, dtype: object

   ID  Age
0   1   25
1   2   30
2   3   35

ID          1
Name    Alice
Age        25
Name: 0, dtype: object

   ID   Name  Age
0   1  Alice   25
1   2    Bob   30

Alice

3. 增加和删除列

使用df['new_column_name'] = data可以增加一列数据。

使用df.drop(columns=['column_name'])可以删除一列数据。

下面是一些增加和删除列的示例代码:

import pandas as pd

data = {'ID': [1, 2, 3],
        'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35]}

df = pd.DataFrame(data)
df['Gender'] = ['Female', 'Male', 'Male']
print(df)

df = df.drop(columns=['Age'])
print(df)

运行上述代码,输出如下:

   ID     Name  Age  Gender
0   1    Alice   25  Female
1   2      Bob   30    Male
2   3  Charlie   35    Male

   ID     Name  Gender
0   1    Alice  Female
1   2      Bob    Male
2   3  Charlie    Male

4. 修改数据

使用df.loc[index, 'column_name'] = new_value可以修改DataFrame中某个元素的值。

下面是一个修改数据的示例代码:

import pandas as pd

data = {'ID': [1, 2, 3],
        'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35]}

df = pd.DataFrame(data)
df.loc[0, 'Age'] = 26
print(df)

运行上述代码,输出如下:

   ID     Name  Age
0   1    Alice   26
1   2      Bob   30
2   3  Charlie   35

5. 数据聚合与统计

使用df.describe()可以计算DataFrame中数值列的统计指标,包括计数、平均值、标准差、最小值、25%分位数、中位数、75%分位数和最大值。

下面是一个数据聚合与统计的示例代码:

import pandas as pd

data = {'ID': [1, 2, 3],
        'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35]}

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

运行上述代码,输出如下:

             ID        Age
count  3.000000   3.000000
mean   2.000000  30.000000
std    1.000000   5.000000
min    1.000000  25.000000
25%    1.500000  27.500000
50%    2.000000  30.000000
75%    2.500000  32.500000
max    3.000000  35.000000

四、总结

本文介绍了使用pandas创建DataFrame的多种方法,包括从二维数组、字典、CSV文件、Excel文件等数据来源。同时,还介绍了DataFrame的基本操作,包括查看基本信息、索引和切片、增加和删除列、修改数据以及数据聚合与统计。

DataFrame是pandas库中最重要的数据结构之一,熟练掌握DataFrame的创建和操作方法,能够更高效地处理数据分析和处理任务,提高工作效率。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程