如何用Pandas从CSV数据集筛选夏季生长的所有作物名称
解决方法
步骤1:读取CSV文件到DataFrame
先导入pandas库并读取你的CSV数据:
import pandas as pd # 替换为你的CSV文件实际路径 df = pd.read_csv('your_dataset.csv')
步骤2:筛选包含「夏季」的行
情况1:明确「夏季」所在的列(比如列名为「季节」)
用str.contains方法精准筛选目标行,加上na=False避免空值引发错误:
# 筛选季节列包含「夏季」的行 summer_rows = df[df['季节'].str.contains('夏季', na=False)]
情况2:不确定「夏季」在哪个列(搜索所有列)
通过apply遍历每一行,检查任意列是否包含「夏季」:
# 遍历所有列,筛选出任意列含「夏季」的行 summer_rows = df[df.apply(lambda row: row.astype(str).str.contains('夏季').any(), axis=1)]
步骤3:提取作物名称
假设作物名称对应的列名为「作物名称」,直接提取该列数据,可转为列表方便后续使用:
# 提取作物名称并转为列表 crop_names = summer_rows['作物名称'].tolist() # 打印结果查看 print(crop_names)
额外处理:单元格为列表的情况
如果「夏季」是作为列表元素存在于单元格中(比如某列值为['春季', '夏季']),需要改用apply结合in判断:
# 处理单元格值为列表的场景 summer_rows = df[df['季节'].apply(lambda x: '夏季' in x)]
内容的提问来源于stack exchange,提问作者avm
相关产品推荐
相关产品推荐

