Python 如何在没有append函数的情况下将多列值追加到一列中?
我有一个由16310列x 6000行组成的数据。我想将所有列的值附加到一列中。比方说Python 如何在没有append函数的情况下将多列值追加到一列中?,python,pandas,Python,Pandas,我有一个由16310列x 6000行组成的数据。我想将所有列的值附加到一列中。比方说 c1 c2 2 3 5 4 1 2 我想要这样的输出 c1 2 5 1 3 4 2 我已经使用append函数完成了这项工作,它工作得很好 acc_y_c = acc_y[0] for i in range(1, len(acc_y.columns)): acc_y_c = acc_y_c.append(acc_y[i]) 但问题是,正如我上面所说的,数据由16310列x 6000行组成,需
c1 c2
2 3
5 4
1 2
我想要这样的输出
c1
2
5
1
3
4
2
我已经使用append函数完成了这项工作,它工作得很好
acc_y_c = acc_y[0]
for i in range(1, len(acc_y.columns)):
acc_y_c = acc_y_c.append(acc_y[i])
但问题是,正如我上面所说的,数据由16310列x 6000行组成,需要花费很多时间。
我想知道有没有比上述方法花费更少时间的方法?你想要吗。融化
例如:
熔化:
附加:
谢谢@James,我真的很感激。
df = pd.DataFrame({'c1': [2, 5, 1], 'c2': [3, 4, 2]})
df.melt(value_name='c1')
# returns:
variable c1
0 c1 2
1 c1 5
2 c1 1
3 c2 3
4 c2 4
5 c2 2
data = [[np.random.randint(10) for _ in range(6000)] for _ in range(16310)]
df = pd.DataFrame(data)
%%time
df_melt = df.melt()
>>> Wall time: 978 ms
%%time
acc_y_c = df[0]
for i in range(1, len(df.columns)):
acc_y_c = acc_y_c.append(df[i])
>>> Wall time: 19min 15s