我有一个数据帧'df'。数据框中的列的类型如下 -
ID float64
TYPE object
COMB_ID float64
AMT_DR float64
AMT_CR float64
我的数据框中的数据看起来像 -
ID TYPE COMB_ID AMT_DR AMT_CR
0 3619998 E 84623 1169456 NaN
1 3619998 E 84624 315792 NaN
2 3619998 E 84625 73389 NaN
3 3619998 E 85947 NaN 1558637
4 3619999 E 84623 1488992 NaN
现在,我想创建一个名为“Status”的新列,如果AMT_DR不为null,则应该创建一个类似 COMB_ID +'Dr:'&的字段。如果AMT_CR不为空,则相同。我的熊猫逻辑如下 -
df['Status'] = np.where(df['AMT_DR'].notnull(), df['COMB_ID'].astype(str) + '-Dr:', df["COMB_ID"].astype(str) + '-Cr:')
现在 df 看起来像 -
ID TYPE COMB_ID AMT_DR AMT_CR Status
0 3619998 E 84623 1169456 NaN 84623.0-Dr:
1 3619998 E 84624 315792 NaN 84624.0-Dr:
2 3619998 E 84625 73389 NaN 84625.0-Dr:
3 3619998 E 85947 NaN 1558637 85947.0-Cr:
4 3619999 E 84623 1488992 NaN 84623.0-Dr:
所以,我不希望状态列中的“。0”部分。你能帮忙吗?
感谢。
答案 0 :(得分:1)
您可以将字符串切片为:
df["COMB_ID"].astype(str[:-1]) + '-Cr:'
或者可能将其转换为整数。
编辑:拼写检查