【发布时间】:2017-11-10 03:40:44
【问题描述】:
我有一个 pandas 的数据框,其中有一列包含从 0 到 50 的真实数据。它们分布不均匀。
我可以使用:
hist, bins = np.histogram(df["col"])
我想做的是将每个值替换为它所在的箱号。
为此,这是有效的:
for i in range(len(df["speed_array"])):
df["speed_array"].iloc[i] = np.searchsorted(bins, df["speed_array"].iloc[i])
但是,对于包含 400 万行的数据框,它非常慢(50 分钟)。我正在寻找一种更有效的方法。你们有更好的主意吗?
【问题讨论】:
标签: python performance pandas numpy