为什么我无法更改系列格式?

时间:2017-05-09 10:54:48

标签: pandas

我从read_html获得了以下系列:

series:
1        417.951
2        621.710
3        164.042
4        189.963
5        555.123
6        213.494
7      2.873.093

我想删除.,以便将某些功能应用于该列中的数字。

所以期望的输出是:

series:
1        417951
2        621710
3        164042
4        189963
5        555123
6        213494
7       2873093

我尝试过取消相同的结果:

df.replace('.','')

并将系列转换为数据框以查看是否存在问题,但它会一直返回初始系列。

1 个答案:

答案 0 :(得分:1)

您需要将输出分配到<div id="controlPanel"> <h1 id="stopButton" class="button">Stop</h1> <h1 id="slowButton" class="button">Slow</h1> <h1 id="goButton" class="button">Go</h1> <h1 id="Lights" class="button">Clear</h1> <h1 id="autoLights" class="button">Auto</h1> </div> <div id="traffic-light"> <div id="stopLight" class="bulb"></div> <div id="slowLight" class="bulb"></div> <div id="goLight" class="bulb"></div> </div>,并在必要时转换为Series,但也必须int转义.并在\中添加参数regex {3}}:

series = series.replace('\.','', regex=True)
print (series)
1     417951
2     621710
3     164042
4     189963
5     555123
6     213494
7    2873093
Name: a, dtype: object
series = series.replace('\.','', regex=True).astype(int)
print (series)
1     417951
2     621710
3     164042
4     189963
5     555123
6     213494
7    2873093
Name: a, dtype: int32

另一种解决方案是使用Series.replace

series = series.str.replace('.','')
print (series)
1     417951
2     621710
3     164042
4     189963
5     555123
6     213494
7    2873093
Name: a, dtype: object

但是在str.replace中使用thousands参数:

df = pd.read_html(url, thousands='.')