如何更改csv文件中的空白区域?
how to make changes in empty spaces in csv file?
我正在处理一个巨大的 csv 文件。我正在尝试乘以列,但它不会让我这样做,因为有很多空单元格。所以基本上我想做的是写一个 if else 语句,如果单元格是空的,那么单元格副本就是它上面的值,如果它上面没有值(就像在第 1 行中,它上面的唯一值是 header) 它应该只写 0(零)。我主要需要帮助的是构建 if else 语句。
This is the screenshot of DataFrame I am working with
要一次对所有列执行此操作,您可以 ffill
然后 fillna
import pandas as pd
df = pd.DataFrame({'a': [None, 1, None], 'b': [2, None, None]})
df.ffill().fillna(0)
给予
a b
0 0.0 2.0
1 1.0 2.0
2 1.0 2.0
对于数据框中的每一列,使用 fillna
方法将 None
单元格的值替换为该列中上一行的值。对于列中的第一行,您可以手动分配 0。我说的可以通过以下方式完成:
for col in list(df):
df[col].fillna( method ='ffill', inplace = True)
if(df[col][0] == None):
df[col][0] = 0
我正在处理一个巨大的 csv 文件。我正在尝试乘以列,但它不会让我这样做,因为有很多空单元格。所以基本上我想做的是写一个 if else 语句,如果单元格是空的,那么单元格副本就是它上面的值,如果它上面没有值(就像在第 1 行中,它上面的唯一值是 header) 它应该只写 0(零)。我主要需要帮助的是构建 if else 语句。
This is the screenshot of DataFrame I am working with
要一次对所有列执行此操作,您可以 ffill
然后 fillna
import pandas as pd
df = pd.DataFrame({'a': [None, 1, None], 'b': [2, None, None]})
df.ffill().fillna(0)
给予
a b
0 0.0 2.0
1 1.0 2.0
2 1.0 2.0
对于数据框中的每一列,使用 fillna
方法将 None
单元格的值替换为该列中上一行的值。对于列中的第一行,您可以手动分配 0。我说的可以通过以下方式完成:
for col in list(df):
df[col].fillna( method ='ffill', inplace = True)
if(df[col][0] == None):
df[col][0] = 0