Python 按数据帧中的浮点值筛选列,并向前填充

Python 按数据帧中的浮点值筛选列,并向前填充,python,python-3.x,regex,pandas,dataframe,Python,Python 3.x,Regex,Pandas,Dataframe,我有这个数据框: difer length 0 0.11 4 1 NaN 6 2 01_00532 54 3 NaN 32 4 NaN 12 5 0.10 12 6 Nan 123 我想用浮点值替换difer列中的所有其他值。因此,将所有值更改为0.11,直到下一个浮点值(0.10),然后用0.10重复该操作

我有这个数据框:

    difer   length     
0   0.11          4
1   NaN           6
2   01_00532      54
3   NaN           32
4   NaN           12 
5   0.10          12
6   Nan           123 
我想用浮点值替换
difer
列中的所有其他值。因此,将所有值更改为0.11,直到下一个浮点值(0.10),然后用0.10重复该操作

   difer        length     
0   0.11          4
1   0.11          6
2   0.11          54
3   0.11          32
4   0.11          12 
5   0.10          12
6   0.10          123  
在第一部分(过滤柱),我发现了一个类似的问题

该人员建议使用
pd.to\u数值
和布尔索引 但我不知道他为什么用这种形式写专栏名
df.SIC
。这对我不起作用:

df[pd.to_numeric(df.SIC, errors='coerce').isnull()]

对于第二部分(如何将所有值更改为0.11,直到下一个浮点值(0.10)并用0.10重复),我没有任何线索。

使用
pd。要在列上使用数值
,errors='concurve'
将用
NaN
填充所有非数值,最后使用前向填充列

df['difer'] = pd.to_numeric(df['difer'], errors='coerce').ffill()
输出

   difer  length
0   0.11       4
1   0.11       6
2   0.11      54
3   0.11      32
4   0.11      12
5   0.10      12
6   0.10     123
注:


通过
df.difer
df['difer']
访问列没有区别。只有在列名中有空格时,才会出现问题。在这种情况下,使用后面的。

使用
pd。要在列上使用数值
errors='concurve'
将用
NaN
填充所有非数值,最后使用前向填充列

df['difer'] = pd.to_numeric(df['difer'], errors='coerce').ffill()
输出

   difer  length
0   0.11       4
1   0.11       6
2   0.11      54
3   0.11      32
4   0.11      12
5   0.10      12
6   0.10     123
注:


通过
df.difer
df['difer']
访问列没有区别。只有在列名中有空格时,才会出现问题。在这种情况下,请使用后面的答案。

另一个答案说,请将该列称为
SIC
,因为这是它的名称
df.SIC
df['SIC']
是按名称引用列的两种方式。但很明显,您的专栏名为
difer
而不是
SIC
!至于“将所有值更改为0.11,直到下一个浮动值”,称为“向前填充”。参见文档及其同义词,另一个答案说将该列称为
SIC
,因为这是它的名称
df.SIC
df['SIC']
是按名称引用列的两种方式。但很明显,您的专栏名为
difer
而不是
SIC
!至于“将所有值更改为0.11,直到下一个浮动值”,称为“向前填充”。参见文档,了解其名称及其同义词