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,直到下一个浮动值”,称为“向前填充”。参见文档,了解其名称及其同义词