Python 在Pandas中的DataFrame中为每个索引值添加一个列表
请帮我的忙。如何在数据帧中创建一个新列并为数据帧中的每个可用索引加入一个值列表 例如,我有一个带有索引值的df:Python 在Pandas中的DataFrame中为每个索引值添加一个列表,python,pandas,dataframe,Python,Pandas,Dataframe,请帮我的忙。如何在数据帧中创建一个新列并为数据帧中的每个可用索引加入一个值列表 例如,我有一个带有索引值的df: i1 i2 i3 和一份清单: ls = ['asd', 'qwe', 'zxc'] 我想将df更新为如下所示: i1 asd i1 qwe i1 zxc i2 asd i2 qwe i2 zxc i3 asd i3 qwe i3 zxc 谢谢 使用: 使用: 您只需要照看一个笛卡尔积,而列表理解可以帮您完成这项工作(不需要另一个包) 您只需要照看一个笛卡尔积,而列表理解可以帮
i1
i2
i3
和一份清单:
ls = ['asd', 'qwe', 'zxc']
我想将df更新为如下所示:
i1 asd
i1 qwe
i1 zxc
i2 asd
i2 qwe
i2 zxc
i3 asd
i3 qwe
i3 zxc
谢谢 使用:
使用:
您只需要照看一个
笛卡尔积
,而列表理解
可以帮您完成这项工作(不需要另一个包)
您只需要照看一个
笛卡尔积
,而列表理解
可以帮您完成这项工作(不需要另一个包)
您想让它们在一列中还是在两列中?您想让它们在一列中还是在两列中?谢谢您的输入。我已经按照@jpp的建议使用了itertools,但是我也会记住这个方法。谢谢你的输入。我已经按照@jpp的建议使用了itertools,但我也会记住这个方法。
from itertools import product
df = pd.DataFrame(index=['i1', 'i2', 'i3'])
ls = ['asd', 'qwe', 'zxc']
res = pd.DataFrame(list(product(df.index, ls)))
print(res)
0 1
0 i1 asd
1 i1 qwe
2 i1 zxc
3 i2 asd
4 i2 qwe
5 i2 zxc
6 i3 asd
7 i3 qwe
8 i3 zxc
import pandas as pd
index = ['i1', 'i2', 'i3']
ls = ['asd', 'qwe', 'zxc']
pd.DataFrame([ [i, j] for i in df.id for j in df.ls], columns = ["id", "ls"])
id ls
0 i1 asd
1 i1 qwe
2 i1 zxc
3 i2 asd
4 i2 qwe
5 i2 zxc
6 i3 asd
7 i3 qwe
8 i3 zxc