Col*_*vel 2 python list dataframe pandas
我有以下数据:
X = [8.5,9.48,8.65,8.16,8.83,7.76,8.63]
Y = [8.27,8.20,8.25,8.14,9.00,8.10,7.20,8.32,7.70]
Run Code Online (Sandbox Code Playgroud)
并希望有数据帧:
serie value
0 X 8.50
1 X 9.48
2 X 8.65
3 X 8.16
4 X 8.83
5 X 7.76
6 X 8.63
7 Y 8.27
8 Y 8.20
9 Y 8.25
10 Y 8.14
11 Y 9.00
12 Y 8.10
13 Y 7.20
14 Y 8.32
15 Y 7.70
Run Code Online (Sandbox Code Playgroud)
目前正如下:
import pandas as pd
lst = ['X']*len(X)
lst.extend(['Y']*len(Y))
X.extend(Y)
df = pd.DataFrame({"value":X, "serie":lst})
Run Code Online (Sandbox Code Playgroud)
但是我想知道是否有一种(更多的pythonic?)方式来融化它?
您可以为列表X和Y构建DataFrame,然后使用ignore_indexset 连接到True:
>>> xdf = pd.DataFrame({'value': X, 'serie': 'X'})
>>> ydf = pd.DataFrame({'value': Y, 'serie': 'Y'})
>>> pd.concat([xdf, ydf], ignore_index=True)
serie value
0 X 8.50
1 X 9.48
2 X 8.65
3 X 8.16
4 X 8.83
5 X 7.76
6 X 8.63
7 Y 8.27
8 Y 8.20
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |