DataFrame新增一列:如果list为空,赋值为0;如果list列不为空,将amount列中对应的行值赋值到新列。
pandas是基于NumPy的一种工具,该工具是为解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地 *** 作大型数据集所需的工具。
pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。
Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多维数据集的一个术语,在Pandas中也提供了panel的数据类型。
先说原因:三条语句按顺序运行,肯定以最后一句结果为准,所以你感觉只有最后一行生效。
一个建议:取样本测试数据的时候,考虑下取方便显示验证的数据。
解决方案:如果之前tag内容,直接保留tag内容。代码如下变动
my_dict = {'keyword': [False, False, False, True], 'sampling': [False, True, False, False],
'value': [True, False, False, False], 'Tag': ['No Tag', 'No Tag', 'No Tag', 'No Tag']}
result_fin_copy = pd.DataFrame(my_dict)
print(result_fin_copy)
result_fin_copy['Tag'] = result_fin_copy.apply(lambda x: 'No Tag' if x.value != True else 'Score', axis=1)
result_fin_copy['Tag'] = result_fin_copy.apply(lambda x: x.Tag if x.sampling != True else 'Sampled', axis=1)
result_fin_copy['Tag'] = result_fin_copy.apply(lambda x: x.Tag if x.keyword != True else 'Keyword', axis=1)
print(result_fin_copy)
运行结果:
keyword sampling value Tag
0 False False True No Tag
1 False True False No Tag
2 False False False No Tag
3 True False False No Tag
keyword sampling value Tag
0 False False True Score
1 False True False Sampled
2 False False False No Tag
3 True False False Keyword
Process finished with exit code 0
后记,这个代码还是有缺陷的,或者说这个样本数据本身的逻辑还有点问题,即,如果一行同时满足两个条件,应该显示哪个Tag。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)