我有一个函数的两个版本,Pandas用于逐行Python 2.7遍历inputs.csv.
第一个版本用于Series.apply()a single column,并按预期遍历每一行.
第二个版本使用DataFrame.apply()on multiple columns,由于某种原因,它读取顶行两次.然后继续执行其余的行而不重复.
任何想法为什么后者读取顶行两次?
版本#1 - Series.apply()
(读取顶行一次)
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)
Run Code Online (Sandbox Code Playgroud)
版本#2 - DataFrame.apply()
(读取顶行两次)
import pandas as pd
df = pd.read_csv(inputs.csv, delimiter=",")
def v2(f):
y = f["X"]
return pd.Series(y)
df["Y"] = df[(["X", "Z"])].apply(v2, axis=1)
Run Code Online (Sandbox Code Playgroud)
print y:
v1(x): v2(f):
Row_1 Row_1
Row_2 Row_1
Row_3 Row_2
Row_3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3099 次 |
| 最近记录: |