pd.DataFrame 用法
时间: 2023-07-25 07:05:41 浏览: 123
`pandas` 是一个流行的Python数据分析库,其中的`DataFrame`是一种二维数据结构,类似于Excel中的表格,可以方便地进行数据处理和分析。
下面是一些`DataFrame`的用法示例:
1. 创建一个空的DataFrame:
```python
import pandas as pd
df = pd.DataFrame()
```
2. 从数据源创建一个DataFrame:
```python
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'city': ['Beijing', 'Shanghai', 'Guangzhou']}
df = pd.DataFrame(data)
print(df)
```
输出:
```
name age city
0 Alice 25 Beijing
1 Bob 30 Shanghai
2 Charlie 35 Guangzhou
```
3. 访问DataFrame的元素:
```python
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'city': ['Beijing', 'Shanghai', 'Guangzhou']}
df = pd.DataFrame(data)
# 获取第一行数据
print(df.loc[0])
# 获取第一列数据
print(df['name'])
# 获取前两行数据
print(df.head(2))
# 获取后两行数据
print(df.tail(2))
```
4. 修改DataFrame的元素:
```python
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'city': ['Beijing', 'Shanghai', 'Guangzhou']}
df = pd.DataFrame(data)
# 修改第一行的数据
df.loc[0, 'age'] = 26
print(df)
```
输出:
```
name age city
0 Alice 26 Beijing
1 Bob 30 Shanghai
2 Charlie 35 Guangzhou
```
5. 删除DataFrame的行或列:
```python
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'city': ['Beijing', 'Shanghai', 'Guangzhou']}
df = pd.DataFrame(data)
# 删除第一行数据
df = df.drop(0)
print(df)
# 删除city列
df = df.drop('city', axis=1)
print(df)
```
输出:
```
name age city
1 Bob 30 Shanghai
2 Charlie 35 Guangzhou
name age
1 Bob 30
2 Charlie 35
```
6. 筛选DataFrame的元素:
```python
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'city': ['Beijing', 'Shanghai', 'Guangzhou']}
df = pd.DataFrame(data)
# 筛选出年龄大于30的行
df = df[df['age'] > 30]
print(df)
```
输出:
```
name age city
2 Charlie 35 Guangzhou
```
7. 对DataFrame进行聚合:
```python
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'Bob'], 'age': [25, 30, 35, 30], 'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shanghai']}
df = pd.DataFrame(data)
# 统计每个城市的人数
df_count = df.groupby('city').size().reset_index(name='count')
print(df_count)
```
输出:
```
city count
0 Beijing 1
1 Guangzhou 1
2 Shanghai 2
```
阅读全文