Python:根据其他两列的值有条件地创建新列
我想把两个栏目合并成一个新栏目 假设我有:Python:根据其他两列的值有条件地创建新列,python,pandas,numpy,dataframe,Python,Pandas,Numpy,Dataframe,我想把两个栏目合并成一个新栏目 假设我有: Index A B 0 1 0 1 1 0 2 1 0 3 1 0 4 1 0 5 1 2 6 1 2 7 1 2 8 1 2 9 1 2 10 1 2 现在我想创建一个C列,其中包含从索引0到4的a列和从索引5到10的B列的条目。应该是这样的: Index A B C 0 1 0 1 1 1 0 1 2 1 0 1 3 1 0 1
Index A B
0 1 0
1 1 0
2 1 0
3 1 0
4 1 0
5 1 2
6 1 2
7 1 2
8 1 2
9 1 2
10 1 2
现在我想创建一个C列,其中包含从索引0到4的a列和从索引5到10的B列的条目。应该是这样的:
Index A B C
0 1 0 1
1 1 0 1
2 1 0 1
3 1 0 1
4 1 0 1
5 1 2 2
6 1 2 2
7 1 2 2
8 1 2 2
9 1 2 2
10 1 2 2
有python代码吗?我怎样才能得到它?提前谢谢 如果
索引
是一个实际列,您可以使用并指定您的条件
import numpy as np
df['C'] = np.where(df['Index'] <= 4, df['A'], df['B'])
Index A B C
0 0 1 0 1
1 1 1 0 1
2 2 1 0 1
3 3 1 0 1
4 4 1 0 1
5 5 1 2 2
6 6 1 2 2
7 7 1 2 2
8 8 1 2 2
9 9 1 2 2
10 10 1 2 2
将numpy导入为np
df['C']=np.where(df['Index']如果您的索引是您的实际索引
您可以使用iloc切片索引,并使用concat创建列
df['C'] = pd.concat([df['A'].iloc[:5], df['B'].iloc[5:]])
print(df)
A B C
0 1 0 1
1 1 0 1
2 1 0 1
3 1 0 1
4 1 0 1
5 1 2 2
6 1 2 2
7 1 2 2
8 1 2 2
9 1 2 2
10 1 2 2
索引是列还是实际索引?