【发布时间】:2022-10-07 07:24:39
【问题描述】:
我有一个 for 循环,它遍历数据框并询问我们是否要删除每一行。无论我做什么,如果我说 Y,我都不能让行下降。
import pandas as pd
import random
from csv import writer
import csv
df1 = pd.read_csv(\'questions.csv\', usecols=[\'question_id\',\'question\'])
col1 = df1.question_id
col2 = df1.question
for index, row in df1.iterrows():
print(row[\'question\'])
Check1 = input(\"Is the following question correct? (Y/N): \")
if Check1 == \"Y\":
continue
elif Check1 == \"N\":
Check2 = input(\"Is this question Needed? (Y/N) \")
if Check2 == \"N\":
Check3 = input(\"Are you sure you want to Delete this question? (Y/N) \")
if Check3 == \"Y\":
df1.drop(df1.index,inplace=True)
elif Check2 == \"Y\":
Check4 = input(\"Please rewrite the question: \")
df1.loc[index, \'question\'] = Check4
我的df是这样的: df1 =
12,What is your number?
10,What is your email?
6,What is your Job title?
30,What color is your car?
谢谢你的帮助!
-
代码没有任何问题,除了缩进为了如果声明,并且如果您对给定的数据框似乎完美地工作命名列 X 和 Y.您能否提供有关数据框的更多详细信息,例如列名?
-
更新了在 Check3 之前删除缩进的问题,我的代码中没有缩进。我的列名是 [\'question_id\' ,\'question\']。
-
它似乎工作得很好@Parker。我无法从您当前的解释中准确指出实际问题出在哪里。命名配置可能有问题,或者如果没有,请尝试在迭代之前重置索引。
-
感谢您的答复!您是否认为我的数据框可能来自 CSV 文件?
-
如果您使用过 pd.read_csv(),那应该不是问题。如果可能的话,您能否粘贴您尝试过的完整代码,即从读取数据框到删除行?
标签: python pandas dataframe row