【发布时间】:2020-11-10 09:11:26
【问题描述】:
假设我有下表: Original dataframe
我添加了一个名为“status”的列,它是对 (gender, Senior_management),基本上是对:[ (Female, True), (Male, True), (Male, False), ...]等等。 假设我正在寻找某些条件,所以我定义了列表:
conditions = [(Female, True), (Male, False)]
我现在的目标是使用查询创建一个新数据框,该数据框仅包含有条件的值。我目前有(注意 MyDataframe 是旧的,我正在尝试将其保存为新的同时保留旧的):
NewDataFrame = MyDataFrame.query('status in @conditions')
NewDataframe.head()
这只会导致数据框的列名: Flawed_result 这里发生了什么?以及如何解决?
【问题讨论】:
-
使用虚拟数据框,它对我有用。您如何创建“状态”列?也可能是 True 和 False 是字符串。
-
有趣!所以同样的代码对你有用吗?我通过以下方式创建我的新专栏:
MyDataFrame['status'] = MyDataFrame.apply(lambda row: "({},{})".format(row['Gender'],row['Senior Management']), axis=1)我检查并成功创建了专栏。任何想法为什么这是一个问题?注意:当我尝试使用print(NewDataFrame)打印数据框时,输出为:空数据框(后跟列名列表) -
这就是它不起作用的原因。看我的回答。 @初学者101
-
另外,如果您觉得有帮助,请考虑accepting the answer! @初学者101
-
对不起,我不明白答案。你可以再详细一点吗?我看不出类型有什么影响?
标签: python pandas dataframe data-analysis