在 Pandas 系列上使用 .str 将所有数据转换为 NaN float64 类型

Using .str on Pandas Series converts all data to NaN float64 type

我正在尝试在我的 Pandas 系列中使用 .str 以使用字符串运算符方法,但是 .str 将我的所有数据转换为 NaN float64 数据类型。 Pandas 系列是一个对象数据类型。

下面我展示了我的API系列,然后尝试对其执行拆分方法。

In [80]:
wellinfo['API'].head()

Out[80]:

 0    3501124153
 1    3501124154
 2    3501124155
 3    3501124185
 4    3501725290
 Name: API, dtype: object

In [81]: 
wellinfo['API'].str.split("0")

Out[81]:
0      NaN
1      NaN
2      NaN
3      NaN
4      NaN
5      NaN
...
1537   NaN
1538   NaN
1539   NaN
1540   NaN
1541   NaN
1542   NaN
Name: API, Length: 1543, dtype: float64

我浏览了 Pandas 文档,但无法找出它转换所有内容的原因。除了 split 方法之外,我还尝试了多种方法,结果相同。

如有任何信息,我们将不胜感激。谢谢。

简单地select str 值并在这种情况下进行替换操作。在其他不是str returns NaN的值上。使用 Series.fillna:

wellinfo['API'].str.split("0").fillna(wellinfo['API'])

或修改整数值:

wellinfo['API'].astype(str).str.split("0")

按照@Mstaino 的建议