小编jam*_*jam的帖子

使用 Pandas 连接两个数值以创建一个新列?

我的数据框中有两列。

var1    var2
01       001
Run Code Online (Sandbox Code Playgroud)

我想创建将它们连接在一起的第三列:

var1    var2    var3
01       001    01001
Run Code Online (Sandbox Code Playgroud)

有谁知道如何做到这一点?谢谢!

python concatenation pandas

8
推荐指数
1
解决办法
1万
查看次数

在使用熊猫iterrows()时追加新行?

我在创建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追加到数据框?

谢谢!

python append pandas

4
推荐指数
1
解决办法
4597
查看次数

在熊猫数据框中将两个时间列添加在一起?

我有以下数据:

 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)

有谁知道如何解决这个问题或以另一种方式来完成我想要做的事情?谢谢!

python datetime pandas

4
推荐指数
1
解决办法
3472
查看次数

标签 统计

pandas ×3

python ×3

append ×1

concatenation ×1

datetime ×1