Python 循环行并将数据打印到新数据框

Python 循环行并将数据打印到新数据框,python,pandas,Python,Pandas,我的数据框如下所示: Rid emonth source Budget 1 Jan18,Mar18 Video,webpage,email 5000 2 Aug18 Editor,content 1200 3 May18,Jul18 Webpa

我的数据框如下所示:

     Rid          emonth             source                 Budget
      1           Jan18,Mar18        Video,webpage,email    5000
      2           Aug18              Editor,content         1200
      3           May18,Jul18        Webpage,video          300
      4           18-Dec             Designer               100
我尝试了以下方法来迭代dataframe中的行

 for index, row in df.iterrows():
 print(row["Rid"],df['emonth'],row['source'],row['Budget'])
所需输出为:

Rid             emonth              source              Budget
1               Jan-18              Video               500
1               Mar-18              webpage             NAN
1               NAN                 email               NAN
2               Aug-18              editor              1200
2               NAN                 Content             NAN
3               May-18              webpage             300
3               Jul-18             Video                NAN
4               Dec-18              designer            100

有人能帮我逐行迭代并将输出打印到新的数据框中吗?

您可以使用字符串拆分并展开列

# Converting all columns to string
df = df.astype(str)
# Line by line looping through each row, splitting each row series with delimiter of ',' and expanding as dataframe. 
# Transpose will return the expanded columns as rows 
df = pd.concat([df.loc[x].str.split(',',expand=True).T for x in range(len(df))],0).reset_index(drop=True)
# filling none value 'Response id' with forward fill
df['Response_id'] = df['Response_id'].ffill()
输出:


这不会返回指定的OP的“Response\u id”。@Naga Kiran这真是太棒了,我要找的正是。你能给我解释一下逻辑吗?是的@Mahesh我只是在每行执行中添加了注释,逐行分割每个字符串,并扩展为单独的数据帧,并将所有数据帧合并为一个:-)@Naga Kiran我只是在我的数据上运行代码,它正在工作,有没有办法限制要分割的列数?我有22列的数据,我只需要3列就可以拆分。列大小@Mahesh没有限制,应该可以,你能帮我找出错误吗
    Rid           emonth               source      Budget
0   1             Jan18               Video             5000
1   1             Mar18              webpage            None
2   1             None                email             None
3   2             Aug18               Editor            1200
4   2             None               content            None
5   3             May18              Webpage            300
6   3             Jul18                video            None
7   4             18-Dec             Designer           100