微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

遍历行并将值附加到数据框中的列

如何解决遍历行并将值附加到数据框中的列

我试图遍历所有行,并将图1中所示的数据转换为图2中的数据。

获取相应的Quarter值时遇到麻烦,因为我为每种颜色获得的列表不是按顺序排列的。您能建议我如何获得Pic2的结果吗?

b=[]
r=[]
g=[]
p=[]
for col,col_val in Sample.iteritems():
    for i in col_val.values:
        if 'Blue' in i:
            b.append(i[i.find('(')+1 : i.find('-')])
        elif 'Purple' in i:
            p.append(i[i.find('(')+1 : i.find('-')])
        elif 'Green' in i:
            g.append(i[i.find('(')+1 : i.find('-')])
        elif 'Red' in i:
            r.append(i[i.find('(')+1 : i.find('-')])

Pic1

Pic2

解决方法

项目替换了项目后,该问题已解决。

b=[]
r=[]
g=[]
p=[]
q=[]
for col,col_val in Sample.iterrows():
    for i in col_val.values:
        if 'Blue' in i:
            b.append(pd.to_numeric(i[i.find('(')+1 : i.find('-')]))
        elif 'Purple' in i:
            p.append(pd.to_numeric(i[i.find('(')+1 : i.find('-')]))
        elif 'Green' in i:
            g.append(pd.to_numeric(i[i.find('(')+1 : i.find('-')]))
        elif 'Red' in i:
            r.append(pd.to_numeric(i[i.find('(')+1 : i.find('-')]))
        else:
            q.append(i)
pd.DataFrame(list(zip(q,g,p,r,b))).rename(columns={0:'Quarter',1:'Green',2:'Purple',3:'Red',4:'Blue'})
,

我考虑了另一种方法。我想出了另一种方法:垂直连接索引列和目标列,然后拆分该列并随后垂直连接。我以为会容易些,但是很奇怪。

df.columns = ['Quarter','value','value']
df1 = pd.DataFrame()
for i in range(1,len(df.columns)):
    df1 = df1.append(df.iloc[:,[0,i]],ignore_index=True)

df2 = pd.concat([df1[['Quarter']],df1['value'].str.split("(",expand=True)],axis=1)
df2 = pd.concat([df2[['Quarter',0]],df2[1].str.split('-',axis=1)

df2.columns = ['Quarter','color','tmp']
df2.drop('tmp',inplace=True,axis=1)

final = pd.DataFrame()
for k in df2['Quarter'].unique():
    tmp = df2[df2['Quarter'] == k]
    tmp = tmp.pivot(index='Quarter',columns='color')
    final = final.append(tmp,ignore_index=True)

final = final.droplevel(0,axis=1)
final['Quarter'] = df2['Quarter'].unique()
final = final[['Quarter','Green','Purple','Red','Blue']]

final
color   Quarter Green   Purple  Red Blue
0   Q2  1   6   4   3
1   Q3  6   10  2   7
2   Q4  3   7   6   2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?