Concat浮动与熊猫的字符串

时间:2014-12-16 19:57:18

标签: python python-3.x pandas

我有一个数据帧'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”部分。你能帮忙吗?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以将字符串切片为:

df["COMB_ID"].astype(str[:-1]) + '-Cr:'

或者可能将其转换为整数。

编辑:拼写检查