1
我有一個名爲timestamp,A和B的3列的熊貓數據框。我想創建一個新的數據框,其中包含Timestamp和一列C.C如下:熊貓:創建一個在兩列之間交替的新列
C[1] = A[1]
C[2]= B[1]
C[3] = A[2]
C[4] = B[2]
時間戳記條目對於前一個數據幀的相同行將是相同的。 什麼是實現上述操作最方便的方法?
我有一個名爲timestamp,A和B的3列的熊貓數據框。我想創建一個新的數據框,其中包含Timestamp和一列C.C如下:熊貓:創建一個在兩列之間交替的新列
C[1] = A[1]
C[2]= B[1]
C[3] = A[2]
C[4] = B[2]
時間戳記條目對於前一個數據幀的相同行將是相同的。 什麼是實現上述操作最方便的方法?
df1 = df.set_index('timestamp').stack().rename_axis(('dates', 'cols')).reset_index(name='C')
print (df1)
dates cols C
0 2012-01-01 A 2
1 2012-01-01 B 8
2 2012-01-02 A 3
3 2012-01-02 B 9
4 2012-01-03 A 5
5 2012-01-03 B 1
或者melt
,但值的順序是不同的:
df1 = df.melt(id_vars='timestamp', var_name='cols', value_name='C')
#pandas bellow 0.20.1
#df1 = pd.melt(df, id_vars='timestamp', var_name='cols', value_name='C')
print (df1)
timestamp cols C
0 2012-01-01 A 2
1 2012-01-02 A 3
2 2012-01-03 A 5
3 2012-01-01 B 8
4 2012-01-02 B 9
5 2012-01-03 B 1
https://pandas.pydata.org/pandas-docs/stable /generated/pandas.melt.html – ayhan
我看到我的解決方案不起作用,因爲未經接受。什麼是問題? – jezrael