我的数据框中有两列。
var1 var2
01 001
Run Code Online (Sandbox Code Playgroud)
我想创建将它们连接在一起的第三列:
var1 var2 var3
01 001 01001
Run Code Online (Sandbox Code Playgroud)
有谁知道如何做到这一点?谢谢!
我在创建df['var'2]和更改下面的代码df['var1']。执行完这些更改后,我想将newrow(with df['var'2])附加到数据框,同时保留原始(尽管现在已更改)行(具有df['var1'])。
for i, row in df.iterrows():
while row['var1'] > 30:
newrow = row
newrow['var2'] = 30
row['var1'] = row['var1']-30
df.append(newrow)
Run Code Online (Sandbox Code Playgroud)
我知道使用时iterrows(),行变量是副本而不是视图,这就是为什么更改未在原始数据框中更新的原因。因此,我将如何更改此代码以实际将newrow追加到数据框?
谢谢!
我有以下数据:
time_begin DRTN_IN_SCND
16:22:16 439
16:29:37 53
16:30:33 85
Run Code Online (Sandbox Code Playgroud)
我想创建一个新列,添加 time_begin 和 DRTN_IN_SCND(以秒为单位的持续时间)以创建新时间。
我试过了:
df['new_time'] = df['time_begin'].apply(lambda x: (dt.datetime.combine(dt.datetime(1,1,1), x,) + dt.timedelta(seconds=df.DRTN_IN_SCND)).time())
Run Code Online (Sandbox Code Playgroud)
这在 dt.timedelta(seconds=3) 时有效,但当我更改为 dt.timedelta(seconds=df.DRTN_IN_SCND) 时无效。我收到以下错误。
TypeError: unsupported type for timedelta seconds component: Series
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题或以另一种方式来完成我想要做的事情?谢谢!