Python,如何使用不在列表中的另一列的值填充数据框列
Python, How to populate dataframe column with values from another column which aren't in a list
我有一个包含列表的数据框 column.A,我正在尝试使用 columnA 中不存在于辅助列表中的值列表填充一个新列。
d = {'colA': [['UVB', 'NER', 'GGR'], ['KO'], ['ERK1', 'ERK2'], []]}
df = pd.DataFrame(data=d)
我试过的代码是:
finaldf['colB'] = [i for i in list(finaldf.AllGenes) if i not in List]
但这只是用 colA 中的相同值列表填充 colB
不太清楚你想要什么
d = {'colA': [['UVB', 'NER', 'GGR'], ['KO'], ['ERK1', 'ERK2'], []]}
df = pd.DataFrame(data=d)
"""
colA
0 [UVB, NER, GGR]
1 [KO]
2 [ERK1, ERK2]
3 []
"""
# filter
dont_include = ["NER", "ERK2"]
df["colB"] = df["colA"].apply(
lambda col_a: [e for e in col_a if e not in dont_include]
)
"""
colA colB
0 [UVB, NER, GGR] [UVB, GGR]
1 [KO] [KO]
2 [ERK1, ERK2] [ERK1]
3 [] []
"""
尝试使用这个。
我有一个包含列表的数据框 column.A,我正在尝试使用 columnA 中不存在于辅助列表中的值列表填充一个新列。
d = {'colA': [['UVB', 'NER', 'GGR'], ['KO'], ['ERK1', 'ERK2'], []]}
df = pd.DataFrame(data=d)
我试过的代码是:
finaldf['colB'] = [i for i in list(finaldf.AllGenes) if i not in List]
但这只是用 colA 中的相同值列表填充 colB
不太清楚你想要什么
d = {'colA': [['UVB', 'NER', 'GGR'], ['KO'], ['ERK1', 'ERK2'], []]}
df = pd.DataFrame(data=d)
"""
colA
0 [UVB, NER, GGR]
1 [KO]
2 [ERK1, ERK2]
3 []
"""
# filter
dont_include = ["NER", "ERK2"]
df["colB"] = df["colA"].apply(
lambda col_a: [e for e in col_a if e not in dont_include]
)
"""
colA colB
0 [UVB, NER, GGR] [UVB, GGR]
1 [KO] [KO]
2 [ERK1, ERK2] [ERK1]
3 [] []
"""
尝试使用这个。