📜  来自 dict 数组的 pandas 数据帧 - Python (1)

📅  最后修改于: 2023-12-03 15:10:41.451000             🧑  作者: Mango

来自 dict 数组的 pandas 数据帧 - Python

在Python中, pandas是数据处理和数据分析的一个强大工具。其中一种创建pandas数据帧的方式是使用dict数组。本文将介绍如何从dict数组创建 pandas 数据帧,并对一些数据处理和操作进行简要说明。

从dict数组创建 pandas 数据帧

以下是使用 dict数组创建 pandas 数据帧的示例代码:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 32, 18, 47],
        'country': ['US', 'Canada', 'UK', 'Australia']}

df = pd.DataFrame(data)

print(df)

输出结果:

       name  age    country
0     Alice   25         US
1       Bob   32     Canada
2   Charlie   18         UK
3     David   47  Australia

在上面的示例中,我们定义了一个dict数组data,它包含名字、年龄和国家等数据。然后通过pd.DataFrame()函数将其转换成pandas数据帧,并将其存储在变量df中。最后用print函数将其输出。

数据处理和操作

一旦我们创建了 pandas 数据帧,就可以对其进行各种数据处理和操作。以下是一些可能的示例:

选取特定行或列

要获取pandas数据帧中的行或列,可以使用iloc和loc方法。其中iloc是根据索引位置选择行或列,loc则是使用标签或条件选择行或列。

# 选取第三行
print(df.iloc[2])

# 选取country列
print(df['country'])

输出结果:

name       Charlie
age             18
country         UK
Name: 2, dtype: object
0           US
1       Canada
2           UK
3    Australia
Name: country, dtype: object
添加新列

我们可以通过将新列与数据帧中的某一列进行计算,来添加新列。

df['age_10'] = df['age'] + 10
print(df)

输出结果:

       name  age    country  age_10
0     Alice   25         US      35
1       Bob   32     Canada      42
2   Charlie   18         UK      28
3     David   47  Australia      57
使用apply函数

我们可以使用apply函数在整个数据帧的列或行上进行操作。下面是使用apply函数计算每个人名字的长度的示例。

df['name_length'] = df['name'].apply(len)
print(df)

输出结果:

       name  age    country  age_10  name_length
0     Alice   25         US      35            5
1       Bob   32     Canada      42            3
2   Charlie   18         UK      28            7
3     David   47  Australia      57            5
使用条件过滤数据

可以使用条件语句对数据帧中的行或列进行过滤。

us_data = df[df['country'] == 'US']
print(us_data)

输出结果:

    name  age country  age_10  name_length
0  Alice   25      US      35            5
排序数据

可以使用sort_values()方法对数据帧进行排序。

df_sorted = df.sort_values(by=['age'])
print(df_sorted)

输出结果:

       name  age    country  age_10  name_length
2   Charlie   18         UK      28            7
0     Alice   25         US      35            5
1       Bob   32     Canada      42            3
3     David   47  Australia      57            5
总结

本文介绍了如何从 dict 数组创建 pandas 数据帧,并演示了对数据帧进行一些简单数据操作的示例。pandas是一种非常强大的工具,可以用于处理各种类型的数据,并提供了许多方便的方法来操作和处理数据。如有任何问题或疑问,请查看pandas官方文档或在社区中提问。