操作dataframe

过滤 dataframe中的多个列

分组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 创建DataFrame 可以通过传递一个由等长列表或NumPy数组组成的字典来创建DataFrame。pandas会默认使用字典键作为列名,将列表或数组的值赋给相应的列。 ```python import pandas as pd data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']} df = pd.DataFrame(data) print(df) ``` 输出结果: ``` name age gender 0 Alice 25 F 1 Bob 30 M 2 Charlie 35 M 3 David 40 M ``` 2. 读取DataFrame pandas支持读取多种数据格式的DataFrame,如CSV、Excel、SQL等。 ```python import pandas as pd # 读取csv文件 df = pd.read_csv('data.csv') print(df.head()) # 读取Excel文件 df = pd.read_excel('data.xlsx') print(df.head()) # 读取SQL数据 import sqlite3 conn = sqlite3.connect('database.db') df = pd.read_sql_query('SELECT * FROM table_name', conn) print(df.head()) ``` 3. 查看DataFrame数据 pandas提供了许多方法来查看DataFrame的数据,如头部、尾部、行数、列数、数据类型等。 ```python import pandas as pd df = pd.read_csv('data.csv') # 查看头部数据,默认5行 print(df.head()) # 查看尾部数据,默认5行 print(df.tail()) # 查看行数和列数 print(df.shape) # 查看数据类型 print(df.dtypes) # 查看列名 print(df.columns) ``` 4. 筛选DataFrame数据 pandas提供了多种方法来筛选DataFrame数据,如基于行、列、条件等。 ```python import pandas as pd df = pd.read_csv('data.csv') # 基于行和列筛选数据 print(df.loc[2:4, ['name', 'age']]) # 基于条件筛选数据 print(df[df['gender'] == 'M']) # 多重条件筛选 print(df[(df['gender'] == 'M') & (df['age'] > 35)]) ``` 5. 操作DataFrame数据 pandas提供了多种方法来操作DataFrame的数据,如增加、删除、修改等。 ```python import pandas as pd df = pd.read_csv('data.csv') # 增加一列数据 df['salary'] = [3000, 4000, 5000, 6000] print(df) # 删除一列数据 df = df.drop(['salary'], axis=1) print(df) # 修改一行数据 df.loc[0, 'age'] = 26 print(df) ``` 6. 分组操作 pandas提供了分组操作来对DataFrame数据进行分组统计计算。 ```python import pandas as pd data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M'], 'salary': [3000, 4000, 5000, 6000]} df = pd.DataFrame(data) # 按照性别分组计算平均薪资 print(df.groupby('gender')['salary'].mean()) # 按照性别和年龄分组计算平均薪资 print(df.groupby(['gender', 'age'])['salary'].mean()) ``` 7. 合并操作 pandas提供了多种方法来合并不同的DataFrame数据。 ```python import pandas as pd data1 = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']} df1 = pd.DataFrame(data1) data2 = {'name': ['Alice', 'Bob', 'Eva', 'Frank'], 'salary': [3000, 4000, 5000, 6000]} df2 = pd.DataFrame(data2) # 按照姓名合并两个DataFrame print(pd.merge(df1, df2, on='name')) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值