因此,我需要为没有受保护属性的特性分配一个新的数据;我被提供了2..csv,其中一个包含每个实例的所有信息,另一个如果属性是受保护的特性,则将每个列标记为1,如果属性是要预测的值,则为2,否则为0。
我不太确定该怎么做,因为我不是很精通,但据我所知,这类似于
df = pd.read_csv("x.csv")
pdf = pd.read_csv("y.csv")
newDf = df.iloc[? && pdf[cols?]]因此,给定两个具有相同标签的不同数据格式:
A B C
0 7 3 1
1 8 3 1
2 9 2 1 A B C
0 0 1 1预期产出将是:
A
0 7
1 8
2 9发布于 2020-03-07 05:35:18
您需要使用带否定的任何查找第二个数据帧(df2)中所有具有0值的列,并将其用作要从df1获取的列的列表。
df[list(df.columns.to_series().loc[~df2.any()])]输出:
A
0 7
1 8
2 9发布于 2020-03-07 05:34:17
下面是我对你问题的理解,如果我弄错了,请告诉我。
df1:
A B C D
0 7 3 1 6
1 8 3 1 4
2 9 1 1 1
df2:
A B C D
0 0 1 1 0df3=pd.DataFrame()
for i in df1.columns:
if df2[i][0]==0:
df3[i]=df1[i]
o/p:
df3:
A D
0 7 6
1 8 4
2 9 1https://stackoverflow.com/questions/60574546
复制相似问题