【发布时间】:2016-10-11 20:18:16
【问题描述】:
对函数及其应用仍然很陌生我想为数据框创建一个新列D:
df = pd.DataFrame([[1, 2, 3], [1, 3, 5], [4, 6, 7]], columns=['A', 'B', 'C'])
A B C
0 1 2 3
1 1 3 5
2 4 6 7
D 列及其内容应借助函数创建,我认为是这种方式:
def my_func(B, C):
if C > B.shift(1):
df['D'] = 'right'
return df['D']
else:
df['D'] = 'left'
return df['D']
简单来说:如果C 中的值高于前一行中B 的值,则单元格将获得“右”,否则为“左”。
我没有让它运行,不知何故不接受轮班或者我收到错误消息
Series 的真值是模棱两可的。使用 a.empty、a.bool()、 a.item()、a.any() 或 a.all()。
欢迎任何关于如何最好地使用此类任务的功能以及应用 shift() 的帮助。
编辑:我正在寻找解决方案的“功能版本”,因为这将是一个经常使用的过程。
【问题讨论】:
标签: python dictionary pandas dataframe