首页 > 其他分享 >将一列包含列表的数据拆分成多个列

将一列包含列表的数据拆分成多个列

时间:2024-02-07 13:32:46浏览次数:28  
标签:分成 AB df 列表 split pd B1 pandas 一列

在 Pandas 中,如果你想要将一列包含列表的数据拆分成多个列,可以使用 .str.split() 方法。这个方法可以在字符串的列(系列)上运行,并返回列表(系列)。以下是一个简单的例子:

import pandas as pd

# 创建一个 DataFrame
df = pd.DataFrame({'AB': ['A1-B1', 'A2-B2']})

# 使用 split 方法分割 'AB' 列
df['AB_split'] = df['AB'].str.split('-')

# 输出 DataFrame
print(df)

输出结果:

AB  AB_split
0  A1-B1  [A1, B1]
1  A2-B2  [A2, B2]


如果你的列中包含的是多个元素的列表,你可能需要将这一列拆分成多行。这种情况下,你可以使用 applypd.Series 方法来实现。以下是一个例子:

df = pd.DataFrame({'A': [1,2],'B': [[1,2], [1,2]]})

# 使用 apply 和 pd.Series 方法拆分 'B' 列
df = df.set_index('A').B.apply(pd.Series).stack().reset_index(level=0).rename(columns={0:'B'})

print(df)

输出结果:

A  B
0  1  1
1  1  2
0  2  1
1  2  2

以上的代码将 'B' 列中的列表拆分成了多行¹²。希望这些信息对你有所帮助!

在 Pandas 中,如果你想要将一列包含列表的数据拆分成多个列,可以使用 `.str.split()` 方法。这个方法可以在字符串的列(系列)上运行,并返回列表(系列)。以下是一个简单的例子:


```python

import pandas as pd


# 创建一个 DataFrame

df = pd.DataFrame({'AB': ['A1-B1', 'A2-B2']})


# 使用 split 方法分割 'AB' 列

df['AB_split'] = df['AB'].str.split('-')


# 输出 DataFrame

print(df)

```


输出结果:


```

    AB  AB_split

0  A1-B1  [A1, B1]

1  A2-B2  [A2, B2]

```


如果你想要将分割的结果直接分成两列,可以这样做:


```python

df['A'], df['B'] = df['AB'].str.split('-', 1).str

```


输出结果:


```

    AB  AB_split   A   B

0  A1-B1  [A1, B1]  A1  B1

1  A2-B2  [A2, B2]  A2  B2

```


以上的代码将 'AB' 列分割成了两列 'A' 和 'B'¹。


如果你的列中包含的是多个元素的列表,你可能需要将这一列拆分成多行。这种情况下,你可以使用 `apply` 和 `pd.Series` 方法来实现。以下是一个例子:


```python

df = pd.DataFrame({'A': [1,2],'B': [[1,2], [1,2]]})


# 使用 apply 和 pd.Series 方法拆分 'B' 列

df = df.set_index('A').B.apply(pd.Series).stack().reset_index(level=0).rename(columns={0:'B'})


print(df)

```


输出结果:


```

  A  B

0  1  1

1  1  2

0  2  1

1  2  2

```


以上的代码将 'B' 列中的列表拆分成了多行¹²。希望这些信息对你有所帮助!


源: 与必应的对话, 2024/2/7

(1) dataframe一列分多列,多个分隔符分割字符串等等,还有交换列顺序 - 知乎. https://zhuanlan.zhihu.com/p/343895339.

(2) Pandas 将包含列表的列拆分为多个列 - 极客教程. https://geek-docs.com/pandas/pandas-questions/59_pandas_split_a_pandas_column_of_lists_into_multiple_columns.html.

(3) pandas的分列操作str.split()_pandas数据分列-CSDN博客. https://blog.csdn.net/liuweiyuxiang/article/details/90936521.

(4) Pandas DataFrame 中展开(拆分)多个列表列的高效方法 - 极客教程. https://geek-docs.com/pandas/pandas-questions/708_pandas_efficient_way_to_unnest_explode_multiple_list_columns_in_a_pandas_dataframe.html.

标签:分成,AB,df,列表,split,pd,B1,pandas,一列
From: https://blog.51cto.com/u_16055028/9637015

相关文章

  • Python实例:爬取网页中的一列数据
    在进行数据分析和处理时,我们常常需要从网页中提取数据。本文将介绍如何使用Python进行网页爬虫,从网页中抓取特定列的数据。一、安装所需库首先,我们需要安装两个Python库:requests和BeautifulSoup。requests库用于发送HTTP请求,而BeautifulSoup库用于解析HTML文档。可以使用以下命令来......
  • 零基础入门Vue之影分身之术——列表渲染&渲染原理浅析
    听我说从条件渲染那一篇,我学习到了如何用Vue对dom节点根据条件显示但单单有条件还不够啊,有时候数据是一大坨一大坨的数据,如果Vue不提供咱要么使用“v-html”要么就没办法实现v-html又感觉太low了,Vue提供了另外的指令更好的实现,那便是:列表渲染列表渲染:v-for简单的列表渲染......
  • PowerShell 可以帮助你获取挂载映像的服务列表
    PowerShell可以帮助你获取挂载映像的服务列表。这可以通过使用Windows的DeploymentImageServicingandManagement(DISM)工具来完成,DISM工具是一个命令行工具,它允许你服务Windows映像,包括那些用于WindowsPE、WindowsRecoveryEnvironment(WindowsRE)和WindowsS......
  • leetcode 第141题:环形列表
    leetcode第141题:环形列表第一种:哈希列表publicbooleanhasCycle(ListNodehead){Set<ListNode>seen=newHashSet<ListNode>();while(head!=null){if(seen.contains(head)){returntrue;}......
  • Erlang 学习之第四天 . 列表,文件,原子,映射,元组,记录
    Erlang列表列表属于数据类型里面的集合, 列表是用于存储数据项集合的结构。在Erlang中,列表是通过将值括在方括号[]中来创建的。实例:  start() ->    Lst1 = [1,2,3],    io:fwrite("~w~n",[Lst1]).输出结果是:[123]以下是列表的方法说明:all: ......
  • SharePoint Online 使用Ajax请求超过5000条数据的列表
    前言相信大家都遇到过SharePointOnline取数据的时候,列表数据超过5000阈值的情况,下面,我们介绍下如何利用分页获取超过5000条数据的列表。正文下面是源代码,主要有两个地方要注意,一个是最开始请求top=5000,告诉请求我们要分页。第二个就是data.d.next,如果这个返回......
  • 金蝶云星空使用插件打开单据列表
     表单插件-按钮点击事件ListShowParametershowParam=newListShowParameter();showParam.IsLookUp=false;//是否查找数据showParam.OpenStyle.ShowType=ShowType.Modal;//展示风格:模态显示......
  • fastAdmin中手动添加列表的选项卡
    一、效果:点击选项卡筛选符合的数据 二:实现方法:1.index.html里面写上列表: <divclass="panel-heading"> {:build_heading()} <ulclass="navnav-tabs"data-field="type"> <liclass="active"> <ahref=&......
  • WPF Prism,mvvm模式下,DataGrid中一列CheckBox的勾选的绑定
    背景WPF+Prism,View和ViewModel,通过Binding来实现数据的更新和界面的刷新,我的需求是做一个表格,第一列为CheckBox,同时这一列的header也是CheckBox,勾选了header的CheckBox,可以实现所有行的CheckBox全选的功能界面如下:实现方法xaml代码:<DataGridx:Name="dgRoundRobin"......
  • 在 C# 中,`int[]`(数组)和 `List<int>`(列表)都可以用来存储一组整数,但它们有一些重要的区
    在C#中,int[](数组)和List<int>(列表)都可以用来存储一组整数,但它们有一些重要的区别:大小:int[]的大小在创建时就确定了,不能改变。而List<int>的大小是动态的,可以添加或删除元素,大小会自动调整¹。方法:List<int>提供了许多方便的方法,如Add、Remove、Insert等,而int[]没有这些方......