我想将两个专栏“日/夜”结合起来?和'缩写'作为字符串,以获得另一列,以“缩写”值的形式显示数字,然后是“日/夜”?值。
我目前拥有的DataFrame:
StringBuilder
例如,我将额外的列输出为:
Route Date Collection Type Tonnage Day/Night? Abbreviated
0 321-2_2 2014-07-11 2 12.96 2 1107
0 325-1_1 2014-07-14 1 1.85 1 1407
1 321-323_2 2014-07-14 1 4.42 2 1407
1 325-2_1 2014-07-15 3 13.20 1 1507
2 321-2_2 2014-07-15 1 3.25 2 1507
我试过这段代码:
11072
14071
14072
15071
15072
其中Daily是DF的名称。
输出很奇怪:
daily['New'] = daily['Abbreviated']+str(daily['Day/Night?'])
有没有人对如何做到这一点有任何建议?
感谢。
答案 0 :(得分:4)
您需要使用astype
进行类型转换:
df['Abbreviated'].astype(str) + df['Day/Night?'].astype(str)
#0 11072
#0 14071
#1 14072
#1 15071
#2 15072
#dtype: object
答案 1 :(得分:0)
cols = ['Abbreviated', 'Day/Night?']
df.assign(New=df[cols].astype(str).apply(''.join, 1))
Route Date Collection Type Tonnage Day/Night? Abbreviated New
0 0 321-2_2 2014-07-11 2 12.96 2 1107 11072
1 0 325-1_1 2014-07-14 1 1.85 1 1407 14071
2 1 321-323_2 2014-07-14 1 4.42 2 1407 14072
3 1 325-2_1 2014-07-15 3 13.20 1 1507 15071
4 2 321-2_2 2014-07-15 1 3.25 2 1507 15072