Как добавить значения True или False в столбец данных? - PullRequest
0 голосов
/ 28 января 2020

Может кто-нибудь предложить мне, как создать значения True или False в кадре данных? Например, у меня есть фрейм данных, как показано ниже:

df = pd.DataFrame({"a":[0, 1, 2, 3], "b":[1, 4, 7, 9],"c":["In, Out", "Out", "In, Out", "In, Out"]})
print(df)

a  b  c

0  1  In, Out

1  4  Out

2  7  In, Out

3  9  In, Out

Я хотел бы отредактировать этот, как показано ниже

a  b  In        Out

0  1  True      True

1  4  False     True

2  7  False     False

3  9  True      True 

Ответы [ 3 ]

2 голосов
/ 28 января 2020

Если вы хотите преобразовать столбец в логическое значение по индикаторам (True, если существует значение), тогда используйте Series.str.get_dummies с DataFrame.join и DataFrame.pop для столбца извлечения:

df = df.join(df.pop('c').str.get_dummies(', ').astype(bool))
print (df)
   a  b     In   Out
0  0  1   True  True
1  1  4  False  True
2  2  7   True  True
3  3  9   True  True
0 голосов
/ 28 января 2020

при условии, что датафрейм называется df, может сделать это путем понимания списка.

df['In'] = ['In' in x for x in df['c']]
df['Out'] = ['Out' in x for x in df['c']]

df.drop('c', axis=1)
0 голосов
/ 28 января 2020

Если вы проверяете по ключевому слову In в столбце c, тогда я думаю, что вы можете использовать это:

df["out"] = df[df["c"] == "In"]
...