如果我理解你的话,你可以这样做:
specific_X_column = df_X["col_2"]
df_Y_subpart = df_Y.iloc[:, specific_X_column]
完整示例:
为了确保我能很好地理解你,我将重新表述你的问题:
- 数据框“df_X”有一列包含整数。
- 这些整数对应于另一个名为“df_Y”的数据帧中的列索引
- 我们只想选择“df_Y”中的这些列
import pandas as pd
# Create dataframes "df_X"
data_X = [["A", 0], ["B", 3], ["C", 5]]
columns_X = ["col_1", "col_2"]
df_X = pd.DataFrame(data_X, columns=columns_X)
print(df_X)
print()
# Create dataframes "df_Y"
data_Y = [[0,1,2,3,4,5], [0.0, 10,20,30,40,50]]
columns_Y = ["col_0", "col_1", "col_2", "col_3", "col_4", "col_5"]
df_Y = pd.DataFrame(data_Y, columns=columns_Y)
print(df_Y)
print()
# Select the column in "df_X" that contains the integers (indexes of columns in "df_Y")
specific_X_column = df_X["col_2"]
# Select the columns needed in "df_Y"
df_Y_subpart = df_Y.iloc[:, specific_X_column]
print(df_Y_subpart)
输出:
col_1 col_2
0 A 0
1 B 3
2 C 5
col_0 col_1 col_2 col_3 col_4 col_5
0 0.0 1 2 3 4 5
1 0.0 10 20 30 40 50
col_0 col_3 col_5
0 0.0 3 5
1 0.0 30 50