📅  最后修改于: 2023-12-03 15:39:59.487000             🧑  作者: Mango
数据框是Python中常用的数据结构,主要用于表格数据的存储、操作和分析。Python中的数据框可以使用多种库进行创建和操作,比如pandas、numpy等。在本篇文章中,我们将主要介绍使用pandas库创建和操作数据框。
在pandas中,我们可以使用DataFrame()函数创建数据框,该函数的常用参数如下:
以下是一个简单的例子:
import pandas as pd
# 从二维数组创建数据框
data = {'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}
df1 = pd.DataFrame(data)
# 从列表创建数据框
data = [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
df2 = pd.DataFrame(data, columns=['a', 'b', 'c'])
# 从字典创建数据框
data = {'a': pd.Series([1, 2, 3]), 'b': pd.Series([4, 5, 6]), 'c': pd.Series([7, 8, 9])}
df3 = pd.DataFrame(data)
以下是一个简单的例子:
import pandas as pd
data = {'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}
df = pd.DataFrame(data)
print(df.shape) # (3, 3)
print(df.columns) # Index(['a', 'b', 'c'], dtype='object')
print(df.index) # RangeIndex(start=0, stop=3, step=1)
print(df.dtypes) # a int64
# b int64
# c int64
# dtype: object
以下是一个简单的例子:
import pandas as pd
data = {'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}
df = pd.DataFrame(data)
print(df.head(2)) # a b c
# 0 1 4 7
# 1 2 5 8
print(df.tail(2)) # a b c
# 1 2 5 8
# 2 3 6 9
print(df.info()) # <class 'pandas.core.frame.DataFrame'>
# RangeIndex: 3 entries, 0 to 2
# Data columns (total 3 columns):
# # Column Non-Null Count Dtype
# --- ------ -------------- -----
# 0 a 3 non-null int64
# 1 b 3 non-null int64
# 2 c 3 non-null int64
# dtypes: int64(3)
# memory usage: 200.0 bytes
# None
print(df.describe())# a b c
# count 3.0 3.0 3.0
# mean 2.0 5.0 8.0
# std 1.0 1.0 1.0
# min 1.0 4.0 7.0
# 25% 1.5 4.5 7.5
# 50% 2.0 5.0 8.0
# 75% 2.5 5.5 8.5
# max 3.0 6.0 9.0
print(df.corr()) # a b c
# a 1.0 1.0 1.0
# b 1.0 1.0 1.0
# c 1.0 1.0 1.0
grouped = df.groupby('a')
for name, group in grouped:
print(name)
print(group)
# 1
# a b c
# 0 1 4 7
# 2 1 6 9
# 2
# a b c
# 1 2 5 8
# 3
# a b c
# 2 3 6 9
print(df.pivot(index='a', columns='b', values='c'))
# b 4 5 6
# a
# 1 7 NaN 9
# 2 NaN 8 NaN
# 3 NaN NaN 9
df1 = pd.DataFrame({'key': ['a', 'b', 'c'], 'value': [1, 2, 3]})
df2 = pd.DataFrame({'key': ['a', 'b', 'd'], 'value': [4, 5, 6]})
print(pd.merge(df1, df2, on='key', how='left'))
# key value_x value_y
# 0 a 1 4.0
# 1 b 2 5.0
# 2 c 3 NaN
在数据框中,我们可以使用.loc[]、.iloc[]、[]等方法对数据进行选择和索引。
以下是一个简单的例子:
import pandas as pd
data = {'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}
df = pd.DataFrame(data)
print(df.loc[0, 'a']) # 1
print(df.loc[[0, 2], 'b']) # 0 4
# 2 6
# Name: b, dtype: int64
print(df.iloc[0, 1]) # 4
print(df.iloc[[0, 2], [0, 2]])# a c
# 0 1 7
# 2 3 9
print(df['a']) # 0 1
# 1 2
# 2 3
# Name: a, dtype: int64
print(df[['a', 'c']]) # a c
# 0 1 7
# 1 2 8
# 2 3 9
数据框的修改主要包括添加、删除、修改操作,我们可以使用.loc[]、.iloc[]等方法实现。
以下是一个简单的例子:
import pandas as pd
data = {'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}
df = pd.DataFrame(data)
# 添加一列数据
df['d'] = [0, 1, 2]
# 删除一列数据
df = df.drop('d', axis=1)
# 修改一列数据
df.loc[0, 'b'] = 10
数据框的合并主要包括按列、按行或者自定义合并方法,我们可以使用concat()、merge()等方法实现。
以下是一个简单的例子:
import pandas as pd
data1 = {'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}
data2 = {'d': [10, 11, 12], 'e': [13, 14, 15], 'f': [16, 17, 18]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
# 按列合并数据框
df3 = pd.concat([df1, df2], axis=1)
# 按行合并数据框
df4 = pd.concat([df1, df2], axis=0)
# 自定义合并方法
df5 = pd.merge(df1, df2, left_on='a', right_on='d', how='outer')
以上就是Python中数据框的介绍,希望对大家有所帮助。