如何用Pandas筛选Excel中十月周一的指定单元格数据
解决方案
步骤1:筛选符合条件的行
先根据「月份为October」和「日期为Monday」的条件,筛选出目标行:
import pandas as pd df = pd.read_csv('alpha.csv') # 请根据你的实际列名替换"Day"和"Month"(比如截图中第一列是日期、第二列是月份) filtered_rows = df[(df['Month'] == 'October') & (df['Day'] == 'Monday')]
步骤2:提取C2至H9对应的列
Excel中C列对应DataFrame的第3列(索引为2),H列对应第8列(索引为7),用iloc提取该区间的列:
# 提取C到H列的所有值 target_values = filtered_rows.iloc[:, 2:8]
步骤3:转换为Python数组并存入mynumbers
将筛选出的二维数据扁平化,转为普通Python列表:
mynumbers = target_values.values.flatten().tolist()
完整代码
import pandas as pd df = pd.read_csv('alpha.csv') # 替换为你实际的日期、月份列名 filtered_rows = df[(df['Month'] == 'October') & (df['Day'] == 'Monday')] target_values = filtered_rows.iloc[:, 2:8] mynumbers = target_values.values.flatten().tolist() # 验证结果 print(mynumbers)
补充说明
- 如果C至H列有明确的列名(比如"数值1"到"数值6"),也可以用列名区间提取:
target_values = filtered_rows.loc[:, '数值1':'数值6'] - 如果提取的是字符串类型数值,可转换为数值类型:
mynumbers = pd.to_numeric(target_values.stack(), errors='coerce').tolist()
内容的提问来源于stack exchange,提问作者WetzelSchultz
相关产品推荐
相关产品推荐

