我有一個帶有以下標題的大型資料集(pandes 資料框)
RAM = [f"RUT1_Azi_{i}" for i in range(10)]
RDP = [f"RUT1_Dtctn_Probb_{i}" for i in range(′10)]
RDI = [f"RUT1_Dtctn_ID_{i}" for i in range(10)]
REM = [f"RUT1_Elev_{i}" for i in range(10)]
RCC = ['RUT1_Cycle_Counter']
現在我想從原始資料框中制作許多子集,如下所示。
子集_0
index,RUT1_Cycle_Counter, RUT1_Azi_0, RUT1_Dtctn_Probb_0, RUT1_Dtctn_ID_0, RUT1_Elev_0
子集_1
index,RUT1_Cycle_Counter, RUT1_Azi_1, RUT1_Dtctn_Probb_1, RUT1_Dtctn_ID_1, RUT1_Elev_1
。
.
.
子集_9
index,RUT1_Cycle_Counter, RUT1_Azi_9, RUT1_Dtctn_Probb_9, RUT1_Dtctn_ID_9, RUT1_Elev_9
我怎樣才能在python中做到這一點?我是python的初學者
非常感謝您提前
uj5u.com熱心網友回復:
這是一個例子:
RAM = [f"RUT1_Azi_{i}" for i in range(10)]
RDP = [f"RUT1_Dtctn_Probb_{i}" for i in range(10)]
RDI = [f"RUT1_Dtctn_ID_{i}" for i in range(10)]
REM = [f"RUT1_Elev_{i}" for i in range(10)]
# made up example with the columns above
cols = RAM RDP RDI REM
nrows = 10
df = pd.DataFrame(np.arange(nrows * len(cols)).reshape(nrows, -1), columns=cols)
現在:
subsets = [df[list(subcols)] for subcols in zip(RAM, RDP, RDI, REM)]
例如:
>>> subsets[5]
RUT1_Azi_5 RUT1_Dtctn_Probb_5 RUT1_Dtctn_ID_5 RUT1_Elev_5
0 5 15 25 35
1 45 55 65 75
2 85 95 105 115
3 125 135 145 155
4 165 175 185 195
5 205 215 225 235
6 245 255 265 275
7 285 295 305 315
8 325 335 345 355
9 365 375 385 395
編輯:修改答案以包括所有子集的通用列串列(RCC = ['RUT1_Cycle_Counter']):
subsets = [df[RCC list(subcols)] for subcols in zip(RAM, RDP, RDI, REM)]
uj5u.com熱心網友回復:
使用 pandas,您可以本地呼叫資料框的子集,只要list_of_subset_headers您的資料框列的子集只是寫
sub_df=df[list_of_subset_headers]
或者在這種情況下:
sub_df0=df[['RUT1_Azi_0', 'RUT1_Dtctn_Probb_0', 'RUT1_Dtctn_ID_0', 'RUT1_Elev_0']]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/456649.html
上一篇:python,查找資料集的目標值
下一篇:選擇列內特定行值之間的所有行
