比较两个数据框列并分配零和一
Comparing two data frames columns and assigning Zero and One
我有一个数据框和一个列表,其中包括我的数据框中列名的一部分,如下所示:
my_frame:
col1, col2, col3, ..., coln
2, 3, 4, ..., 2
5, 8, 5, ..., 1
6, 1, 8, ..., 9
my_list:
['col1','col3','coln']
现在,我想创建一个数组,其大小与我的原始数据框(总列数)相同,仅包含零和一。基本上,如果“my_list”中有类似的列名,我希望数组包含 1,否则为 0。我想要的输出应该是这样的:
my_array={[1,0,1,0,0,...,1]}
这应该对你有帮助:
import pandas as pd
dictt = {'a':[1,2,3],
'b':[4,5,6],
'c':[7,8,9]}
df = pd.DataFrame(dictt)
my_list = ['a','h','g','c']
my_array = []
for column in df.columns:
if column in my_list:
my_array.append(1)
else:
my_array.append(0)
print(my_array)
输出:
[1, 0, 1]
如果您想将 my_array
用作 numpy array
而不是 list
,请使用:
import pandas as pd
import numpy as np
dictt = {'a':[1,2,3],
'b':[4,5,6],
'c':[7,8,9]}
df = pd.DataFrame(dictt)
my_list = ['a','h','g','c']
my_array = np.empty(0,dtype = int)
for column in df.columns:
if column in my_list:
my_array = np.append(my_array,1)
else:
my_array = np.append(my_array,0)
print(my_array)
输出:
[1 0 1]
为了便于理解,我在代码中使用了测试数据。你可以用你的实际数据替换测试数据(即用你的实际数据帧替换我的测试数据帧)。希望这对您有所帮助!
我有一个数据框和一个列表,其中包括我的数据框中列名的一部分,如下所示:
my_frame:
col1, col2, col3, ..., coln
2, 3, 4, ..., 2
5, 8, 5, ..., 1
6, 1, 8, ..., 9
my_list:
['col1','col3','coln']
现在,我想创建一个数组,其大小与我的原始数据框(总列数)相同,仅包含零和一。基本上,如果“my_list”中有类似的列名,我希望数组包含 1,否则为 0。我想要的输出应该是这样的:
my_array={[1,0,1,0,0,...,1]}
这应该对你有帮助:
import pandas as pd
dictt = {'a':[1,2,3],
'b':[4,5,6],
'c':[7,8,9]}
df = pd.DataFrame(dictt)
my_list = ['a','h','g','c']
my_array = []
for column in df.columns:
if column in my_list:
my_array.append(1)
else:
my_array.append(0)
print(my_array)
输出:
[1, 0, 1]
如果您想将 my_array
用作 numpy array
而不是 list
,请使用:
import pandas as pd
import numpy as np
dictt = {'a':[1,2,3],
'b':[4,5,6],
'c':[7,8,9]}
df = pd.DataFrame(dictt)
my_list = ['a','h','g','c']
my_array = np.empty(0,dtype = int)
for column in df.columns:
if column in my_list:
my_array = np.append(my_array,1)
else:
my_array = np.append(my_array,0)
print(my_array)
输出:
[1 0 1]
为了便于理解,我在代码中使用了测试数据。你可以用你的实际数据替换测试数据(即用你的实际数据帧替换我的测试数据帧)。希望这对您有所帮助!