"从列表中取前2个值"

2024-06-28 11:06:29 发布

您现在位置:Python中文网/ 问答频道 /正文

在我正在查看的文件的第一列中,它读取7个不同逗号分隔值的列表,如下所示: 亚历克斯,43,37,12,1,2,5

还有2000多行是以同样的方式设置的。你知道吗

我只对前两个感兴趣,其余的对我不重要。我试图将前两个值分配到数据帧中的不同列中,如下所示:

 typesx = (line.split(",") for line in df['firstcolumn'])
ty=((type[0], type[1]) for type in typesx)
for z in range(len(df)):
    df['firstplaceholder'][z] = type(0)
    df['secondplaceholder'][z] = type(1)

但是,这只会将类型放入相应的列(即int、string)中,如图所示。你知道吗

我很困惑,因为如果我选择打印类型0和类型1,它将打印我要找的内容(在本例中,alex,43岁)。 像这样:

for a,b in ty:

    print(a,b)

但是,我不确定如何将这些值复制到我创建的单独列(firstplaceholder、secondplaceholder)中。你知道吗


Tags: 文件in类型df列表fortype方式
2条回答

在我看来,您在检索值时犯了错误。请尝试以下代码。你知道吗

df['firstplaceholder'][z] = ty[z][0] df['secondplaceholder'][z] = ty[z][1]

df=pd.DataFrame(data={"1":["a,bb,c,d"],"2":["n,g,r,h,l"]},index=['firstcolumn']).T

df['secondcolumn']=df['firstcolumn'].apply(lambda s:s.split(',')[1])
df['firstcolumn'] =df['firstcolumn'].apply(lambda s:s.split(',')[0])

相关问题 更多 >