Pandas concat() 不起作用,而不会引发任何错误?



我正试图在循环中将一些数据附加到一个空的Pandas系列中。我这样做如下:

i = 0
values = pd.Series(dtype=int)
for i in range(1, 200):
temp = pd.Series([int(df_train.iloc[[0],[i]].values)])
pd.concat([values, temp])
i += 1
values

我创建了一个临时Pandas系列,将数据帧中的值存储在特定索引中(特别是我对第一行的列值1-200感兴趣(。返回:

Series([], dtype: int32)

为什么会失败?为什么没有出现错误?

IIUC需要分配pd.concat:

values = pd.Series(dtype=int)
for i in range(1, 200):
temp = pd.Series([int(df_train.iloc[[0],[i]].values)])
values = pd.concat([values, temp])

更好的方法是创建系列列表并在外循环中插入:

L = []
for i in range(1, 200):
temp = pd.Series([int(df_train.iloc[[0],[i]].values)])
L.append(temp)
values = pd.concat(L)
print (values)

L = [pd.Series([int(df_train.iloc[[0],[i]].values)] for i in range(1, 200)]
values = pd.concat(L)
print (values)

相关内容

最新更新