目录
基本读写:
使用 Pandas DataFrame 的步骤如下:
导入 Pandas 模块
python
import pandas as pd
创建 DataFrame
python
df = pd.DataFrame({
'姓名': ['张三', '李四', '王五'],
'年龄': [18, 25, 30],
'性别': ['男', '女', '男']
})
这将创建一个包含三行数据和三列的 DataFrame,其中包括姓名、年龄和性别。
访问 DataFrame 数据
可以使用 DataFrame 的 .head() 方法查看 DataFrame 的前几行数据。
python
print(df.head())
输出:
姓名 年龄 性别
0 张三 18 男
1 李四 25 女
2 王五 30 男
使用 DataFrame 的 .loc[] 方法可以根据行和列的标签来访问数据。
python
print(df.loc[0, '姓名']) # 输出:张三
使用 DataFrame 的 .iloc[] 方法可以根据行和列的位置来访问数据。
python
print(df.iloc[0, 0]) # 输出:张三
处理 DataFrame 数据
DataFrame 可以通过多种方式进行处理,例如:
选择特定列:可以使用列名称或列索引来选择特定列。
python
print(df['姓名']) # 输出:0 张三\n1 李四\n2 王五\nName: 姓名, dtype: object
选择特定行:可以使用 .loc[] 或 .iloc[] 方法来选择特定行。
python
print(df.loc[0]) # 输出:姓名 张三\n年龄 18\n性别 男\nName: 0, dtype: object
过滤数据:可以使用布尔索引来过滤数据。
python
print(df[df['年龄'] > 20]) # 输出:姓名 李四\n年龄 25\n性别 女\nName: 1, dtype: object\n姓名 王五\n年龄 30\n性别 男\nName: 2, dtype: object
对数据进行排序:可以使用 .sort_values() 方法对数据进行排序。
python
print(df.sort_values('年龄', ascending=False)) # 输出:姓名 王五\n年龄 30\n性别 男\nName: 2, dtype: object\n姓名 李四\n年龄 25\n性别 女\nName: 1, dtype: object\n姓名 张三\n年龄 18\n性别 男\nName: 0, dtype: object
以上是使用 Pandas DataFrame 的基本步骤,根据具体需求和场景,还可以进行更多的数据处理和操作。
数据可视化
可以使用 Pandas 的 .plot() 方法和 Matplotlib 库对 DataFrame 的数据进行可视化。下面是一个简单的例子:
假设我们有如下 DataFrame:
python
import pandas as pd
data = {'年份': ['2010', '2011', '2012', '2013', '2014', '2015'],
'销售额': [100, 200, 300, 400, 500, 600]}
df = pd.DataFrame(data)
现在,我们将使用 df.plot() 方法将销售额数据可视化为一条折线图:
python
import matplotlib.pyplot as plt
df.plot(x='年份', y='销售额', kind='line')
plt.show()
上述代码中,df.plot() 方法将 DataFrame 中的数据可视化为一条折线图。其中,x='年份' 和 y='销售额' 分别指定了 x 轴和 y 轴的数据列。kind='line' 参数指定了图表类型为折线图。
最后使用 plt.show() 函数显示图表。
运行上述代码,将会看到如下图表:
Pandas DataFrame 数据可视化
除了折线图,还可以使用 kind 参数指定其他类型的图表,例如:
散点图:kind='scatter'
条形图:kind='bar'
直方图:kind='hist'
箱线图:kind='box'
面积图:kind='area'
如果要可视化多列数据,可以使用 Pandas 的 .plot() 方法中的 y 参数。y 参数可以接受一个列表,其中包含要可视化的所有列名。下面是一个简单的例子:
假设我们有如下 DataFrame:
python
import pandas as pd
data = {'年份': ['2010', '2011', '2012', '2013', '2014', '2015'],
'销售额1': [100, 200, 300, 400, 500, 600],
'销售额2': [200, 300, 400, 500, 600, 700],
'销售额3': [150, 250, 350, 450, 550, 650]}
df = pd.DataFrame(data)
现在,我们将使用 df.plot() 方法将三个销售额数据可视化为折线图:
python
import matplotlib.pyplot as plt
df.plot(x='年份', y=['销售额1', '销售额2', '销售额3'], kind='line')
plt.show()
上述代码中,y=['销售额1', '销售额2', '销售额3']
参数指定了要可视化的三列销售额数据。将这三列数据作为一个列表传递给 y 参数即可。