2 列資料框作為第一個螢屏截圖。我想添加新列(通過原始資料框的 Note 列中的內容)來判斷 Note 列是否包含新列的標題文本。
示例作為第二個螢屏截圖。

有些行適用于幾列。當有很多新列時,效率不高。
這樣做的好方法是什么?謝謝你。
import pandas as pd
from io import StringIO
csvfile = StringIO(
'''Name\tNote
Mike\tBright, Kind
Lily\tFriendly
Kate\tConsiderate, energetic
John\tReliable, friendly
Ale\tBright''')
df = pd.read_csv(csvfile, sep = '\t', engine='python')
col_list = df['Note'].tolist()
n_list = []
for c in col_list:
for _ in c.split(','):
n_list.append(_)
df = df.assign(**dict.fromkeys(n_list, ''))
df["Bright"][df['Note'].str.contains("Bright")] = "Yes"
uj5u.com熱心網友回復:
您可以嘗試.str.get_dummies然后替換1為Yes
df = df.join(df['Note'].str.get_dummies(', ').replace({1: 'Yes', 0: ''}))
print(df)
Name Note Bright Considerate Friendly Kind Reliable energetic friendly
0 Mike Bright, Kind Yes Yes
1 Lily Friendly Yes
2 Kate Considerate, energetic Yes Yes
3 John Reliable, friendly Yes Yes
4 Ale Bright Yes
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/474497.html
上一篇:根據先前的值和乘法計算值
下一篇:R資料框過濾器值
