如何基于所述数据帧中的另一个序列向python数据帧添加布尔序列?
所以。很久了,第一次 我不确定我的数据集是否是专有的,但我可以简化。我正在处理一个涉及状态的数据框架,我得到了一些包含这些状态信息的列表如何基于所述数据帧中的另一个序列向python数据帧添加布尔序列?,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,所以。很久了,第一次 我不确定我的数据集是否是专有的,但我可以简化。我正在处理一个涉及状态的数据框架,我得到了一些包含这些状态信息的列表 Name Value1 Value2 0 Alabama 7.4 4.4 1 Delaware 6.4 4.4 2 Ohio 2.4 2.0 3 Virginia 1.4 1.2 但我得到了一些清单。让我们假设
Name Value1 Value2
0 Alabama 7.4 4.4
1 Delaware 6.4 4.4
2 Ohio 2.4 2.0
3 Virginia 1.4 1.2
但我得到了一些清单。让我们假设它们是曾经有马当过市长的州的名单
horse_mayor_yes = ['Alabama', 'Delaware']
horse_mayor_no = ['Ohio', 'Virginia']
我想要的输出:
Name Value1 Value2 Horse Horseless
0 Alabama 7.4 4.4 1 0
1 Delaware 6.4 4.4 1 0
2 Ohio 2.4 2.0 0 1
3 Virginia 1.4 1.2 0 1
我知道我可以创建1和0的列表,但如果给我一个新的无序列表(假设名称唯一),我希望在有数百个命名项目的情况下可以扩展
谢谢
谢谢你,用户,纠正了我的打字错误。
e2:列表不必相互排斥。您只需使用
isin()
:
如果需要将bool
转换为int
,请使用:
df[["Horse", "Horseless"]] = df[["Horse", "Horseless"]].astype(int)
您只需使用
isin()
:
如果需要将bool
转换为int
,请使用:
df[["Horse", "Horseless"]] = df[["Horse", "Horseless"]].astype(int)
你需要:
从这个问题上看,horse
和horseless
是否可以同时成立还不清楚
import pandas as pd
import numpy as np
df = pd.DataFrame({'Name':['Alabama','Deleware','Ohio','Virginia'],
'value1':[1,2,3,4], 'value2':[5,6,7,8]})
horse_mayor_yes = ['Alabama', 'Deleware']
horse_mayor_no = ['Ohio', 'Virginia']
df['Horse'] = np.where(df['Name'].isin(horse_mayor_yes), 1, 0)
df['Horseless'] = np.where(df['Name'].isin(horse_mayor_no), 1, 0)
print(df)
输出:
Name value1 value2 Horse Horseless
0 Alabama 1 5 1 0
1 Deleware 2 6 1 0
2 Ohio 3 7 0 1
3 Virginia 4 8 0 1
你需要:
从这个问题上看,horse
和horseless
是否可以同时成立还不清楚
import pandas as pd
import numpy as np
df = pd.DataFrame({'Name':['Alabama','Deleware','Ohio','Virginia'],
'value1':[1,2,3,4], 'value2':[5,6,7,8]})
horse_mayor_yes = ['Alabama', 'Deleware']
horse_mayor_no = ['Ohio', 'Virginia']
df['Horse'] = np.where(df['Name'].isin(horse_mayor_yes), 1, 0)
df['Horseless'] = np.where(df['Name'].isin(horse_mayor_no), 1, 0)
print(df)
输出:
Name value1 value2 Horse Horseless
0 Alabama 1 5 1 0
1 Deleware 2 6 1 0
2 Ohio 3 7 0 1
3 Virginia 4 8 0 1
为什么有不同的
yes
和no
列表?有些州可能是“不确定”的吗?“阿拉巴马”和“特拉华”在您的示例输入和输出中拼写错误。@andrew_reece感谢您的更正!是的,这是可能的,但这超出了我的问题范围。我希望(并计划)在类似的外部环境中使用答案。为什么会有不同的yes
和no
列表?有些州可能是“不确定”的吗?“阿拉巴马”和“特拉华”在您的示例输入和输出中拼写错误。@andrew_reece感谢您的更正!是的,这是可能的,但这超出了我的问题范围。我希望(并计划)在类似情况下的外部环境中使用答案。是的,它们可以。我会纠正的。谢谢。那样的话,我的回答对你的情况很好。是的,他们可以。我会纠正的。谢谢你。那样的话,我的回答对你的情况很有效。