小编Eva*_*van的帖子

为什么pandas Series.str 将数字转换为 NaN?

这可能是我的一个根本误解,但我希望pandas.Series.strpandas.Series值转换为字符串。

但是,当我执行以下操作时,系列中的数值将转换为np.nan

df = pd.DataFrame({'a': ['foo    ', 'bar', 42]})
df = df.apply(lambda x: x.str.strip() if x.dtype == 'object' else x)
print(df)

Out:
     a
0  foo
1  bar
2  NaN
Run Code Online (Sandbox Code Playgroud)

如果我先将该str函数应用于每一列,数值将转换为字符串而不是np.nan

df = pd.DataFrame({'a': ['foo    ', 'bar', 42]})
df = df.apply(lambda x: x.apply(str) if x.dtype == 'object' else x)
df = df.apply(lambda x: x.str.strip() if x.dtype == 'object' else x)
print(df)

Out:
     a
0  foo
1  bar
2   42
Run Code Online (Sandbox Code Playgroud)

关于这个主题的文档相当少。我错过了什么?

python pandas

5
推荐指数
1
解决办法
2801
查看次数

Haskell - 内置元组,Ord 定义为仅按第一个元素进行比较?

我对 Haskell 比较陌生,所以希望这不是一个愚蠢的问题。我正在寻找一种常见的/众所周知的类型,它本质上是一个元组,但已Ord定义为仅按第一个元素进行比较。

我可以这样定义自己:

data RankedItem a = RankedItem Double a deriving (Show)

instance Eq (RankedItem a) where
  (RankedItem lkey _) == (RankedItem rkey _) = lkey == rkey

instance Ord (RankedItem a) where
  (RankedItem lkey _) `compare` (RankedItem rkey _) = compare lkey rkey
Run Code Online (Sandbox Code Playgroud)

是否有内置类型或常用的第三方容器来实现这一点?

haskell

4
推荐指数
1
解决办法
70
查看次数

标签 统计

haskell ×1

pandas ×1

python ×1