熊猫:将列的值折叠到列表

圭多

我有一个pandas.DataFrame对象,我想将其折叠为一行,以便将每个前一列的值都转换为列表。

有没有比使用.agg和传递分配了每个列名称的字典便宜的方法list

这是我的数据:

指数 第1栏 专栏2
0 一种 d
1个 E

这是我想要的输出:

指数 第1栏 专栏2
0 [A,B] [D,E]

注意:索引不相关。

阿图罗·斯布雷

假设您的数据如下所示:

df = pd.DataFrame({'col1':['A','B','C','D','E'],
                   'col2':['F','G','H','I','J']})
print(df)

  col1  col2
0    A     F
1    B     G
2    C     H
3    D     I
4    E     J
  1. 折叠列的矢量化方法:
# Turn the columns to an index and drop the old one
df = df.stack().reset_index(level=0, drop=True)
# Turn the values of each column into lists and transpose the result
df.groupby(df.index).apply(list).to_frame().transpose()
  1. 使用for循环将列折叠为列表
# Create a dummy data frame to fill in
df2 = df[0:1].copy()
# Fill in the dataset with the collapsed columns
for col in df.columns:
    df2.loc[0, col] = df[col].tolist()

两种解决方案均会导致以下结果:

              col1             col2
0  [A, B, C, D, E]  [F, G, H, I, J]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫:将列的值折叠到列表

来自分类Dev

熊猫将值列表更改为列

来自分类Dev

熊猫值列表到二元列

来自分类Dev

熊猫列值到列?

来自分类Dev

将熊猫组中的值堆叠到新列中

来自分类Dev

熊猫将重复的值重新堆叠到列中

来自分类Dev

如何创建一个列,将列中的所有值分组到属于熊猫中不同列的值之间的列表

来自分类Dev

熊猫解散列表到列

来自分类Dev

将熊猫数据框的列值提取到列表中

来自分类Dev

将行转换为熊猫列中的值列表

来自分类Dev

将列表作为熊猫数据框中的列值

来自分类Dev

将两个列的值折叠到一个新列中

来自分类Dev

将两个列的值折叠到一个新列中

来自分类Dev

当所有其他列的值都相同时,将列的多行的值折叠到数组中

来自分类Dev

将熊猫中的列值分组并将其他列值制成列表

来自分类Dev

如何将列折叠成熊猫的行元素?

来自分类Dev

熊猫:按值将单元格值分组到单独的列中

来自分类Dev

Python熊猫将唯一的列值堆叠到自己的列中

来自分类Dev

熊猫将值从切片列复制到切片列

来自分类Dev

将多列中的行值汇总到熊猫df中的新列中

来自分类Dev

Python熊猫将唯一的列值堆叠到自己的列中

来自分类Dev

将数据框折叠到 NaN 值上

来自分类Dev

熊猫:将包含字符串列表的列转换为每个值的新列

来自分类Dev

熊猫:“分配”列值到多行

来自分类Dev

熊猫数据框的行到列的值

来自分类Dev

将重复的问题折叠到R中的汇总列中

来自分类Dev

从熊猫列获取每行值的列表

来自分类Dev

用列表填充熊猫列的空值

来自分类Dev

熊猫:比较列表值并编写新列