gpt4 book ai didi

python - 如何从 Excel 电子表格中仅读取满足特定条件的行到 Python 中?

转载 作者:太空宇宙 更新时间:2023-11-03 20:29:48 25 4
gpt4 key购买 nike

我需要通过读取包含近 50,000 行和 81 列的 Excel 电子表格来在 Python 中创建 pandas 数据框。该文件包含有关各种医疗专业人员的信息:医生、护士、执业护士等。我只想读取“PROFTYPE”列值为“NURSEPRACT”的行。

我使用的是Python 3.73,并且我已经读入了整个文件,然后我通过 PROFTYPE 列对其进行了修剪;但阅读时间太长。我只想读取 PROFTYPE == 'NURSEPRACT' 的行。

df_np = pd.read_excel(SourceFile, sheetname='Data', header=0)
df_np = df_np[df_np['PROFTYPE'] == 'NURSEPRACT']

这段代码实际上有效,但那是因为我首先读取整个文件。实际上,我只想阅读那些满足 PROFTYPE = 'NURSEPRACT' 条件的内容。

最佳答案

一个想法是你可以

  1. 仅加载“PROFTYPE”列,
  2. 确定非护士执业者行,
  3. 加载整个表以仅保留执业护士行。

该策略正在发挥作用:

df = pd.read_excel(SourceFile,
sheet_name='Data',
header=0,
usecols=['PROFTYPE']) # <-- Load just 'PROFTYPE' of the following table
# ID PROFTYPE YEARS_IN_PRACTICE
# 1234 NURSEPRACT 12
# 43 NURSE 32
# 789 NURSEPRACT 4
# 34 PHYSICIAN 2
# 93 NURSEPRACT 13
row_numbers = [x+1 for x in df[df['PROFTYPE'] != 'NURSEPRACT'].index]
df = pd.read_excel(SourceFile, sheet_name='Data', header=0, skiprows=row_numbers)
# ID PROFTYPE YEARS_IN_PRACTICE
# 1234 NURSEPRACT 12
# 789 NURSEPRACT 4
# 93 NURSEPRACT 13

关于python - 如何从 Excel 电子表格中仅读取满足特定条件的行到 Python 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57576677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com