簡體   English   中英

Python數據框:根據數據框另一列的字符串行中是否包含列名,將行填充為1或0

[英]Python Dataframe: Fill in Row as 1 or 0 Based on If Column Name is Contained in String Row of Another Column in Dataframe

假設我們有一個數據框,其中有一列稱為“ Col_Strings”。 該列有3萬行。 我只顯示表格的前三行

接下來,我將向數據框添加一堆其他列。

我想使用這樣的邏輯:如果我的列名包含在“ Col_Strings”行中,那么我希望該值表示1 ...否則為0。

下面是一個示例表(第一行是列名):

Col_Strings       2C    GAD D2  6F  ABCDE
2C 1B D2 6F ABC    1    0   1   1   0
Act Dog House GAD  0    1   0   0   0
D2 6F Ant          0    0   1   1   0

基於其他人的幫助,我可以通過從頭開始創建數據框來執行以下操作。 但是我的問題是,當我已經有一個數據框並需要引用“ Col_Strings”來確定1或0時,如何使用上述python邏輯?

將函數映射到數據庫列Col_Strings ,檢查單詞是否包含在每個元素中。 將結果分配給該列

df['Act'] = df['Col_Strings'].map(lambda x: int('Act' in x.split())

如果您有要為其創建列的單詞列表,請循環執行以上邏輯:

for word in ['Act', 'Now', 'Buy', 'MORE']:
    df[word] = df['Col_Strings'].map(lambda x: int(word in x.split())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM