对Pandas Dataframe行的列表推导
我不明白为什么这段代码:
df = PA.DataFrame()
[df.append(aFunction(x)) for x in aPandaSeries]
和这段代码:
df = PA.DataFrame()
for x in xrange(len(aPandaSeries)):
df = df.append(aFunction(aPandaSeries[x]))
生成的DataFrame(df)不一样。我想用第一段代码来实现第二段代码的功能,但前者的行数明显少于后者。
1 个回答
2
有几点需要注意...
.append() 方法返回的是 None。所以如果你写 df = df.append(),那么 df 就会变成 None 值。
列表推导式很有用,可以用来过滤或处理一系列值,所以通常不会在列表推导式中使用 .append()。把第一个代码片段中的第二行改写成这样更合理:
for x in aPandaSeries:
df.append(aFunction(x))