在我正在查看的文件的第一列中,它读取7个不同的逗号分隔值的列表,如下所示: 亚历克斯,43,37,12,1,2,5
以相同的方式设置了2000多行。
我只对前2个感兴趣,其余对我来说并不重要。我正在尝试将前两个值分配到数据框中的单独列中,如下所示:
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)中。
答案 0 :(得分:1)
在我看来,您在检索值时犯了错误。尝试下面的代码。
df['firstplaceholder'][z] = ty[z][0]
df['secondplaceholder'][z] = ty[z][1]
答案 1 :(得分:0)
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])