在 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)),
})
我遇到了在 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)),
})