我有两个版本的函数,它使用Pandas
表示Python 2.7
,逐行遍历inputs.csv
。在
第一个版本在single column
上使用Series.apply()
,并按预期遍历每一行。在
第二个版本在multiple columns
上使用DataFrame.apply()
,由于某种原因,它读取了顶行两次。然后它继续执行其余的行而不重复。在
你知道为什么后者会把第一行读两遍吗?在
版本1–{
import pandas as pd
df = pd.read_csv(inputs.csv, delimiter=",")
def v1(x):
y = x
return pd.Series(y)
df["Y"] = df["X"].apply(v1)
版本2–{
print y
:
v1(x): v2(f):
Row_1 Row_1
Row_2 Row_1
Row_3 Row_2
Row_3
这是设计的,如here和{a2}
apply函数需要知道返回数据的形状,以便智能地确定如何组合这些数据。应用是一种智能应用聚合、转换或筛选的快捷方式。你可以试着像这样分开你的函数来避免重复调用。在
相关问题 更多 >
编程相关推荐