是否有用于此的Python函数?
好的,所以我手动编写了一个函数来实现这一点,但我想知道是否有内置的python/pandas/numpy/。。。功能。基本上我想要的是是否有用于此的Python函数?,python,pandas,Python,Pandas,好的,所以我手动编写了一个函数来实现这一点,但我想知道是否有内置的python/pandas/numpy/。。。功能。基本上我想要的是 data_col = data.loc[data['col3'] == 'a'] data_final = data_col['col2'] 但我希望它适用于col3的所有值。因此,它来自: 致: 注意col1中的值是如何不存在的。如果没有你能想到的能做这样事情的函数,不要担心做一个。我已经完成了,它适合我的需要。只是好奇,我在学校还没有完成所有的课程,所以
data_col = data.loc[data['col3'] == 'a']
data_final = data_col['col2']
但我希望它适用于col3的所有值。因此,它来自:
致:
注意col1中的值是如何不存在的。如果没有你能想到的能做这样事情的函数,不要担心做一个。我已经完成了,它适合我的需要。只是好奇,我在学校还没有完成所有的课程,所以我对所有的功能都不是非常熟悉。试试:
for v in df["col3"].unique():
m = df["col3"] == v
df.loc[m, "tmp"] = range(m.sum())
df = df.pivot(index="tmp", columns="col3", values="col2").rename_axis("")
print(df)
印刷品:
col3 a b c d e
零点零六七八九一零
一点零一零九八七六
代码
df = df.pivot_table(
'col2', columns='col3', aggfunc=(lambda x:x.to_list())
).apply(pd.Series.explode).rename_axis(None, axis=1).reset_index(drop=True))
输出
a b c d e
0 6 7 8 9 10
1 10 9 8 7 6
解释
您的数据似乎以一种非常奇怪的方式组织起来。没有任何东西表明
a
的哪些值与b
列的哪些值或数据点出现顺序以外的任何其他列的值一致,而且似乎有一种假设,即col3
的所有值出现的次数相等,如果为真,可能应该反映在原始数据结构设计中。