这是我的职责
def price_to_ephe(data):
converted = []
for i in data:
while i >= 360:
i = i - 360
converted.append (i)
return converted
字符串
它使每一个数字小于360。我想把它应用到列中。
2009-01-01, 886.0
2009-01-02, 884.2
2009-01-03, 882.1
2009-01-04, 882.6
2009-01-05, 883.4
2009-01-06, 889.1
2009-01-07, 887.6
2009-01-08, 882.5
2009-01-09, 879.7
2009-01-10, 878.3
2009-01-11, 876.6
2009-01-12, 875.2
型
预期产出:
2009-01-01, 166.0
2009-01-02, 164.2
..............
型
.等等。数字可以大也可以小:10000和20。
请帮我做最有效的方式。DataFrame是非常大的。我需要Pandas的所有速度!
2条答案
按热度按时间zmeyuzjn1#
你想要的是得到你的值的modulo,这是用
mod
(或%
)实现的:字符串
或者:
型
输出量:
型
euoag5mw2#
可以使用pandas.DataFrame.apply
此方法将一个函数沿着轴应用于pandas框架。
如果你想在没有自己的“price_to_ephe”函数的情况下实现它,你需要使用modulo to reduce 360列。
df[“column_name”].mod(360)