我正在尝试在 Dataframe 的一列上应用一个函数。在得到多个结果作为 Dataframe 之后,我想把它们都串接在一个 Dataframe 中。
为什么第一种选择行得通而第二种不行?
import numpy as np
import pandas as pd
def testdf(n):
test = pd.DataFrame(np.random.randint(0,n*100,size=(n*3, 3)), columns=list('ABC'))
test['index'] = n
return test
test = pd.DataFrame({'id': [1,2,3,4]})
testapply = test['id'].apply(func = testdf)
#option 1
pd.concat([testapply[0],testapply[1],testapply[2],testapply[3]])
#option2
pd.concat([testapply])
1条答案
按热度按时间baubqpgj1#
pd.concat
需要一个序列的panda对象s,但是您的#2case/选项传递了一个包含多个 Dataframe 的单个pd.Series
对象的序列,因此它不会进行连接-您只是按原样获得该序列。要修复第二种方法,请使用解包: