【问题标题】:Delete a row in pandas dataframe while using df.iterrows()使用 df.iterrows() 时删除熊猫数据框中的一行
【发布时间】:2020-04-19 15:52:16
【问题描述】:
如果当前行的某一列有数据丢失,我需要删除该行。
这是我写的:
for c, r in data.iterrows():
if (r['A'] == ""):
data = data.drop(r)
但我收到错误:
“不可读的密钥错误”
【问题讨论】:
标签:
python
pandas
dataframe
【解决方案1】:
试试这个,使用boolean indexing:
data[data['A'] != ""]
data['A'] != "" 以布尔序列的形式返回,对于该值不是“”的每一行,该序列为 True。
【解决方案2】:
你可以这样做:
data = data.drop(data[data['A'] == ''].index)
或
data[data['A'] != ""]
【解决方案3】:
对于您的部分标识错误,如果不是,您必须将它们称为 NaN 值。
如果有空值,则从行中删除数据。
df = df[df['Column_name'].notna()]