Pandas基础¶

1.1 Series数据结构¶

Series是一种类似于一维数组的对象,由一组数据和一组与之相关的索引组成。它可以存储任何数据类型,包括整数、浮点数、字符串等。

In [ ]:
# 导入pandas库
import pandas as pd

# 创建一个简单的Series
data = pd.Series([10, 20, 30, 40, 50], index=['a', 'b', 'c', 'd', 'e'])
print('Series对象:')
print(data)

# 访问Series的值和索引
print('\nSeries的值:')
print(data.values)
print('\nSeries的索引:')
print(data.index)

在上面的示例中,我们创建了一个Series对象,其中包含了数据和自定义的索引。可以通过data.values获取Series的值,通过data.index获取索引。

1.2 DataFrame¶

DataFrame是Pandas中最常用的数据结构,类似于电子表格或SQL表格。它是一个二维的、带有行索引和列索引的表格。

1.2.1 DataFrame创建¶

In [ ]:
# 创建DataFrame
data = {
    '姓名': ['张三', '李四', '王五'],
    '年龄': [25, 30, 28],
    '城市': ['北京', '上海', '广州']
}
df = pd.DataFrame(data)
print('创建的DataFrame对象:')
print(df)

在这个示例中,我们使用字典创建了一个简单的DataFrame,其中包含了姓名、年龄和城市三列数据。

1.2.2 DataFrame对象访问¶

In [ ]:
# 访问DataFrame中的列
print('访问年龄列:')
print(df['年龄'])

# 访问DataFrame中的行(使用loc和iloc)
print('\n使用loc访问行:')
print(df.loc[1])

print('\n使用iloc访问行:')
print(df.iloc[0])

在上面的示例中,使用df['年龄']可以访问DataFrame中的一列数据。使用loc可以根据标签访问行,使用iloc可以根据位置访问行。

1.2.3 DataFrame修改¶

In [ ]:
# 修改DataFrame中的值
df.loc[0, '年龄'] = 26
print('修改后的DataFrame:')
print(df)

# 添加新列
df['职业'] = ['工程师', '教师', '医生']
print('\n添加新列后的DataFrame:')
print(df)

在这个示例中,我们修改了第一行的年龄值,并添加了一列新的数据列职业。

2. pandas数据导入与保存¶

2.1 数据导入¶

Pandas提供了多种方法从不同格式的文件中导入数据,如CSV、Excel等。常用方法是pd.read_csv()和pd.read_excel()。

In [ ]:
# 示例:从CSV文件导入数据
# 假设有一个名为'data.csv'的文件
try:
    df_from_csv = pd.read_csv('data.csv')
    print('从CSV导入的DataFrame:')
    print(df_from_csv.head())
except FileNotFoundError:
    print('无法找到data.csv文件,请确保文件存在。')

在上面的示例中,pd.read_csv()用于从CSV文件中导入数据。使用head()方法可以查看导入数据的前几行。

2.2 数据保存¶

Pandas提供了多种方法将DataFrame保存到不同格式的文件中,如CSV、Excel等。常用方法是to_csv()和to_excel()。

In [ ]:
# 示例:将DataFrame保存到CSV文件
df.to_csv('output.csv', index=False)
print('DataFrame已保存到output.csv文件中')

在上面的示例中,df.to_csv()方法用于将DataFrame保存到一个CSV文件中。参数index=False用于指定不要将行索引写入文件。

练习¶

  1. 创建一个Series对象,其中包含5个城市的温度值,并为其设置自定义索引。
  2. 创建一个DataFrame,包含三列:产品名称、价格和库存数量,并尝试修改其中一个产品的价格。
  3. 导入一个CSV文件中的数据(使用pd.read_csv()),并显示前5行数据。
  4. 将一个自定义的DataFrame保存为Excel文件,尝试使用to_excel()。

练习参考答案¶

In [ ]:
# 练习 1: 创建Series
temps = pd.Series([30, 32, 28, 25, 27], index=['北京', '上海', '广州', '深圳', '杭州'])
print('城市温度Series:')
print(temps)

# 练习 2: 创建和修改DataFrame
product_data = {
    '产品名称': ['手机', '笔记本', '耳机'],
    '价格': [2000, 5000, 300],
    '库存数量': [50, 20, 100]
}
products_df = pd.DataFrame(product_data)
print('\n初始产品DataFrame:')
print(products_df)

# 修改产品价格
products_df.loc[0, '价格'] = 2200
print('\n修改后的产品DataFrame:')
print(products_df)

# 练习 3 和 4 需在本地环境中导入数据并保存