在 Python 中使用列名循环并附加到数据框

Looping and append to dataframe with column names in Pyhton

我遇到了在 2 个单独的列中循环并附加到数据框的挑战。我希望将 col1 和 col2 的结果附加到列 'col1' & 'col2'.

下的数据框中

到目前为止我有以下内容:

result = pd.DataFrame(columns = ['col1', 'col2'])
for i in range(5):
    col1 = i + 1
    col2 = i + 100
    result.append(pd.concat([str(col1), col2]))

输出:

TypeError: cannot concatenate object of type '<class 'str'>'; only Series and DataFrame objs are valid

我想要的输出是:

col1 col2
1 101
2 102
3 103
4 104
5 105

如果需要在此处使用append,您可以

result = pd.DataFrame(columns = ['col1', 'col2'])
for i in range(5):
    col1 = i + 1
    col2 = i + 100
    result = result.append({'col1': str(col1), 'col2': col2}, ignore_index=True)

否则,concat

result = pd.concat([
    pd.Series({'col1': str(i + 1), 'col2': i + 100})
        for i in range(5)
], axis=1).transpose()

或者我会这样做

result = pd.DataFrame({
    'col1': list(map(str, range(1, 6))),
    'col2': list(range(100, 105)),
})