我问的问题有点复杂,题目也一样。我做这个例子是为了向你说明我的问题。以下是示例表:
df = pd.DataFrame({'Number': [1,2,3,4,5,6,7,8,9], 'Col1':['a','b','c','d','e','f','g','h','i']})
下一步是提取df['Number']并出于某种原因运行迭代。number= [i*i for i in df['Number']]
输出是[1, 4, 9, 16, 25, 36, 49, 64, 81]
现在我有一个变量'number',它是一个列表。你知道吗
现在关键的一步是我必须重新整理这个列表。假设数字小于40
number1 = [i for i in number if i < 40]
number2 = [i for i in number if i > 40]
好的,我想要的关键步骤是将number1和number2添加到df,但是预期的最终输出是这样的:
也就是说,添加一个新列'Type',这两个新变量必须与索引匹配,内容是'number1'和'number2',而不是'1,4,9…81'。你知道吗
创建自定义函数,然后在
pandas.apply
中使用它输出:
以下是我的创意方法:
数据:
解决方案:
结果:
说明:
我想你需要^{} 和
boolean mask
:计时-
numpy.where
最快:编辑:
为了更好地理解以下内容,我创建了helper列:
相关问题 更多 >
编程相关推荐