如何在大熊猫中扩展列长度的值?

时间:2019-10-14 11:51:21

标签: python pandas

有一个df

df = 

date        foo   bar
2019-01-01  foo1  bar1
2019-02-01  foo2  bar2
2019-03-01  foo3  bar3

和变量df_if ='123'

我需要使用df_if的值添加一列df_id

# My desirable output is:

date        foo   bar   df_id
2019-01-01  foo1  bar1  123
2019-02-01  foo2  bar2  123
2019-03-01  foo3  bar3  123

我试图这样做

df['df_id'] = df_id * len(df)

但是它也将变量本身相乘

# The result is:

date        foo   bar   df_id
2019-01-01  foo1  bar1  123123123
2019-02-01  foo2  bar2  123123123
2019-03-01  foo3  bar3  123123123

在其他脚本中,相同的技术也可以正常工作,我不知道为什么它会乘以值

1 个答案:

答案 0 :(得分:2)

因为它是字符串,所以如果乘以标量则它会重复值:

print ('a' * 3)
aaa

print (df_id * 3)
123123123

也许您想将值转换为一个元素列表:

print (['a'] * 3)
['a', 'a', 'a']

print ([df_id] * 3)
['123', '123', '123']

df['df_id'] = [df_id] * len(df)

但最简单的是:

df['df_id'] = df_id 

或者:

df = df.assign(df_id = df_id)