【发布时间】:2018-10-30 10:27:05
【问题描述】:
我有两个数据框df1 和df2,
df1
A B
2 6
5 1
7 3
1 2
9 7
4 7
3 4
8 9
和df2 包含
A B A_bin B_bin C D E
2 6 1 2 5 4 1
5 1 2 1 2 2 4
7 3 3 1 5 1 7
1 2 1 1 8 4 9
9 7 3 3 5 5 8
4 7 2 3 1 8 5
3 4 1 2 2 9 3
8 9 3 3 4 6 2
我正在尝试仅选择从 df2 中选择的那些特定行到一个新的数据框 df_result_A 用于具有 A_bin = 1 的所有行
类似地,一个单独的数据框df_result_B 具有所有df2 行,使得B_bin 行包含1。
我发现很难让我的逻辑语法不正确,或者我的逻辑可能是错误的,
for i in range(len(df1(df2[columns])+len(df)):
if(row value is 1)
print in df_result_A
print in df_result_B
挑战在于不使用列名和索引,因为代码也应该针对其他数据集运行我试图首先以len(df1) 遍历 df2 的前两列会让我知道在 2 列之后 A_bin 和 B_bin 会来。
因此,当我在 df2 的第一列时,添加 len(df1) 将使我进入 A_bin 并对其进行迭代以检查值是否为 1 并将其存储在单独的数据框中。
同样,当我在df2 的第二列时,添加len(df2) 将使我进入B_bin,从而将其结果存储在df_result_B 中。
预期结果在单独的数据帧中。
df_result_A
A B C D E
2 6 5 4 1
1 2 8 4 9
3 4 2 9 3
df_result_b
A B C D E
5 1 2 2 4
7 3 5 1 7
1 2 8 4 9
【问题讨论】:
-
请阅读这个问题,我不能使用列名或索引(我用粗体字提到过)@Bollehenk
标签: python python-3.x pandas dataframe data-science