Python 3.8,使用熊猫。
我正在尝试从熊猫数据框列“DATA”中的负数中删除符号以保留幅度,即所有值都是正数。本质上,将一列中的值乘以 -1,但仅当它为负时。这是容易的一点。然后在已反转的数据框中创建一条记录。所以在这种情况下,创建另一个名为“Tubes Inverted”的列
#Check sign and create a column recording if this has been inverted.
num = df['DATA']._get_numeric_data()
if num < 0:
df['Tubes Inverted'] = "Yes"
else:
df['Tubes Inverted'] = "No"
num[num < 0] = num*-1
这里的问题是我正在尝试确定一个系列的真值,这是模棱两可且无法工作的,所以我尝试了:
num = df['DATA']._get_numeric_data()
for i in num:
if i < 0:
df['Tubes Inverted'] = "Yes"
else:
df['Tubes Inverted'] = "No"
num[num < 0] = num*-1
但后来我认为这只是它正在测试的数据的索引位置,而不是数据本身。
必须有一个更优雅和pythonic的解决方案!