[英]How can I append the values of a list to the values of a DataFrame column using Python?
I have this DataFrame: 我有这个DataFrame:
df=pd.DataFrame.from_items([('id', [14, 49, 21]),
('parameter', [12, 23, 11])])
And I have this list: 我有这个清单:
[8, 1, 3]
<class 'list'>
I want to append the list values to each value of the column id of the dataframe df, I want something like this: 我想将列表值附加到数据框df的列ID的每个值,我想要这样的东西:
id parameter
0 148 12
1 491 23
2 213 11
How can I do it? 我该怎么做?
You can try like so: 您可以这样尝试:
import pandas as pd
df = pd.DataFrame.from_items([('id', [14, 49, 21]), ('parameter', [12, 23, 11])])
l = iter([8, 1, 3])
df.id = df.id.apply(lambda x: str(x)+str(next(l))).astype(int)
print df
Output: 输出:
id parameter
0 148 12
1 491 23
2 213 11
Using zip
works: 使用
zip
作品:
import pandas as pd
df = pd.DataFrame.from_items([('id', [14, 49, 21]), ('parameter', [12, 23, 11])])
l = [8, 1, 3]
df['id'] = [int(''.join([str(j) for j in i])) for i in zip(df['id'], l)]
and the resulting df
is: 所得的
df
为:
>>> df
id parameter
0 148 12
1 491 23
2 213 11
import pandas as pd
df = pd.DataFrame.from_items([('id', [14, 49, 21]), ('parameter', [12, 23, 11])])
lista = [8,1,3]
for i in range(len(lista)):
df['id'][i] = int(str(df['id'][i]) + str(lista[i]))
print df
id parameter
0 148 12
1 491 23
2 213 11
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.