繁体   English   中英

如何根据另一列的行值查看另一列的数据?

[英]How to view data from another column based on row value of another?

我有一个 dataframe:

data = [['Alex',10],['Alex',11],['Alex',8],['Bob',12],['Bob',14],['Clarke',13]]
df2 = pd.DataFrame(data,columns=['Name','Age'])

我想打印名称唯一值的年龄值。 例如,我想打印名称“Alex”等的所有年龄值。 我尝试解析唯一的 Name 值,所以最后我会打印:

Alex: 10,11,8
Bob: 12,14
Clarke: 13

如何打印 dataframe 的每个唯一名称的年龄值?

for name in df2['Name'].unique():
  print(name)
  print(df2['Age'])

你可以试试这个

unique = df2.groupby(by='Name')['Age'].apply(list)
for i in unique.iteritems():
    print(i)

output

('Alex', [10, 11, 8])
('Bob', [12, 14])
('Clarke', [13])

基于上面 Ade_1 的回答,您可以使用以下代码格式化 output 以符合您的要求:

unique = df2.groupby(by='Name')['Age'].apply(list)
for name in unique.index:
    ages = str(unique[name]).strip('[]')
    print('{}: {}'.format(name, ages))

output 将是:

Alex: 10, 11, 8
Bob: 12, 14
Clarke: 13

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM