第九章:Pandas模块的介绍-数据子集的筛选

直接学习:https://edu.csdn.net/course/play/6861/326767
数据子集的筛选
1、语法
列的筛选:df.column-name,df[‘column-name’]
行的筛选:df.loc[condition,:]
行列的筛选:df.loc[condition,:column_list]

import pandas as pd
import pymysql
bridge = pymysql.connect(host = '127.0.0.1',user = 'root', password = '1q2w3e4r',database = 'train')
sec_buildings = pd.read_sql("select * from sec_buildings", con = bridge)
bridge.close()
#用.方法筛选出列
sec_buildings.head()
sec_buildings.name
sec_buildings.price_unit

sec_buildings.size
#用索引的方法筛选出单列
sec_buildings['size']
#用索引的方法筛选出多列
sec_buildings[['name','tot_amt','price_unit']]

#用loc方法加条件筛选出行
sec_buildings.loc[sec_buildings.region == '浦东',:]
#用loc方法加多个条件筛选出行
sec_buildings.loc[(sec_buildings.region == '浦东') & (sec_buildings['size'] > 150),:]
#用loc方法加多个条件筛选出行和列
sec_buildings.loc[(sec_buildings.region == '浦东') & (sec_buildings['size'] > 150),['name','tot_amt','price_unit']]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误通常发生在使用 Pandas 和 scikit-learn 库时,其中一个库使用的数据列名与另一个库不同。出现这种情况的原因可能是数据的列名不一致或者缺少某些列。 解决方法如下: 1. 确保数据列名一致。可以通过使用 `df.columns` 属性查看 Pandas 数据框的列名,并使用 `model.feature_names_` 查看 scikit-learn 模型的特征名称。如果两者不一致,则需要将它们调整成一致的列名。 2. 确保数据中包含所需的列。如果 scikit-learn 模型需要的列在 Pandas 数据框中不存在,则需要添加这些列。 3. 确保数据的顺序正确。有时候,数据的顺序可能不一致,导致 scikit-learn 模型无法识别数据。可以使用 `df.reindex` 对数据进行排序。 举个例子,假设我们有两个数据集,一个是 Pandas 数据框,包括两列 'x' 和 'y',另一个是 scikit-learn 模型,需要特征名称为 'a' 和 'b'。我们需要将 Pandas 数据框的列名 'x' 和 'y' 调整为 scikit-learn 模型的特征名称 'a' 和 'b',并且确保数据顺序正确,如下所示: ``` import pandas as pd from sklearn.linear_model import LinearRegression # 创建 Pandas 数据框 df = pd.DataFrame({'x': [1, 2, 3], 'y': [4, 5, 6]}) # 创建 scikit-learn 模型 model = LinearRegression() # 将 Pandas 数据框的列名调整为 scikit-learn 模型的特征名称 df.columns = ['a', 'b'] # 确保数据顺序正确 df = df.reindex(columns=model.feature_names_) # 训练模型 model.fit(df, [1, 2, 3]) ``` 这样就可以避免出现 KeyError 错误了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值