我有一个* .xlsx文件,如下所示-
A B C
[['Neutral']] ['nan']
[['Neutral']] ['nan']
Bad [['Negative']] ['Bad']
Meh [['Neutral']] ['Meh']
[['Neutral']] ['nan']
仅在值[['Neutral']] and ['nan']
为B
的情况下,我才尝试删除列C
和null
中的所有df1 = pd.read_excel(path)
for i, row in df1.iterrows():
if pd.isnull(row[0]):
# del row[1]
# del row[2]
row[1] = 0
row[2] = 0
值。
这是我的代码-
B
我的代码可以完美地找到所有空值,但无法清除C
和 A B C
Bad [['Negative']] ['Bad']
Meh [['Neutral']] ['Meh']
列变量s。我在做什么错了?
预期输出为-
HOOK-ERROR in after_step: TimeoutException: Message: timeout
(Session info: chrome=69.0.3497.92)
(Driver info: chromedriver=2.35.528139
(47ead77cb35ad2a9a83248b292151462a66cd881),platform=Linux 4.4.0-128-generic x86_64)
是的,空格/单元格应该仍然存在。
答案 0 :(得分:2)
尝试一下
mask=df['A'].isnull()
df.loc[mask]=''
输出:
A B C
0
1
2 Bad [['Negative']] ['Bad']
3 Meh [['Neutral']] ['Meh']
4
对于这个问题,您不需要在熊猫中使用for循环,
说明
查找A哪里空白的索引
在所选索引处替换为空
编辑:
要从特定列中删除,
df.loc[mask,['B','C']]=''
答案 1 :(得分:1)
您可以简单地通过获取空值索引来分配它
df.loc[df.A.isnull()] = ''
出局:
A B C
0
1
2 Bad [['Negative']] ['Bad']
3 Meh [['Neutral']] ['Meh']
4