python - 将列表拆分为行
问题描述
我有两列的数据框。一列是“Exchange”,另一列是“StartToEnd”。我遇到的问题是交换列中的每一行都包含多个交换名称。就像:
London Stock Exchange Berlin Stock Exchange
但是 python 会将其读取为 1 个字符串,所以我使用了 str.split 并将每一行变成一个列表,所以现在每一行看起来像:
['London Stock Exchange', 'Berlin Stock Exchange']
我如何将这一行拆分为两个单独的行,但同时为两个新行复制 StartToEnd 值。所以它看起来像:
Exchange. StartToEnd
London Stock Exchange. 15.4
Berlin Stock Exchange. 15.4
解决方案
您可以为此使用pd.melt:
df = pd.DataFrame({ "Exchange" : [['London Stock Exchange', 'Berlin Stock Exchange']], 'StartToEnd': [15.4] })
df[["London","Berlin"]] = pd.DataFrame(df.Exchange.tolist())
df = df.drop('Exchange', axis=1)
df.melt(id_vars = ["StartToEnd"], value_name = 'Exchange').drop('variable',axis=1)
产量:
StartToEnd Exchange
0 15.4 London Stock Exchange
1 15.4 Berlin Stock Exchange
推荐阅读
- c# - 为什么JsonResult需要同时实现IActionResult和IStatusCodeActionResult?
- javascript - (Javascript)如何遍历所有 JSON 对象但只获取特定值?
- python - 我如何翻译来自 Django 中的 JSON 文件的静态数据?
- ios - 如何在本机反应中使用缩放的后窗口从下到上为模态设置动画?
- python-3.x - 当 PythonOperator 出现错误“Negsignal.SIGKILL”时,气流 DAG 失败
- r - R:返回两个值的函数,用长垂直线 (|) 分隔
- python - 如何显示账面余额?
- javascript - 如何使用 React 在我正在渲染的 UI 中渲染从两个不同输入接收到的数据?
- windows-runtime - 如何使用 WinRT/C++ 在 WinUI3 中打开新窗口?
- java - Project Reactor 中的冷热定义是什么?