如何根据pandas中某些列中的值从DataFrame中选择行?
在SQL中我会使用:
SELECT *
FROM table
WHERE colume_name = some_value
Run Code Online (Sandbox Code Playgroud)
我试着看看熊猫文档,但没有立即找到答案.
我正在尝试替换数据帧的一列中的值.列("女性")仅包含"女性"和"男性"的值.
我尝试过以下方法:
w['female']['female']='1'
w['female']['male']='0'
Run Code Online (Sandbox Code Playgroud)
但是收到以前结果的完全相同的副本.
理想情况下,我希望获得一些类似于以下循环元素的输出.
if w['female'] =='female':
w['female'] = '1';
else:
w['female'] = '0';
Run Code Online (Sandbox Code Playgroud)
我查看了陷阱文档(http://pandas.pydata.org/pandas-docs/stable/gotchas.html),但无法弄清楚为什么没有发生.
任何帮助将不胜感激.
我有DataFrame一些列.一列包含正在使用其货币的符号,例如欧元或美元符号.另一列包含预算值.因此,例如在一行中它可能意味着5000欧元的预算,而在下一行它可以说2000美元的预算.
在pandas中,我想在我的DataFrame中添加一个额外的列,以欧元标准化预算.所以基本上,对于每一行,如果货币列中的符号是欧元符号,则新列中的值应该是预算列*1中的值,新列中的值应该是预算列的值*如果货币栏中的符号是美元符号,则为0.78125.
我知道如何添加一列,其值填充它,从另一列等的值复制但不知道如何有条件地基于其他列的值填充新列.
有什么建议?
我知道这个问题有很多主题,但没有一种方法适合我,所以我发布了我的具体情况
我有一个如下所示的数据框:
data = pd.DataFrame([[1,0],[0,1],[1,0],[0,1]], columns=["sex", "split"])
data['sex'].replace(0, 'Female')
data['sex'].replace(1, 'Male')
data
Run Code Online (Sandbox Code Playgroud)
我想要做的是将性别列中的所有0替换为"女性",将所有1替换为"男性",但是当我使用上面的代码时,数据框中的值似乎没有改变
我是否错误地使用了replace()?或者有更好的方法来有条件地替换价值观吗?