python - 将文本从一个单元格复制到另一个单元格而不删除原始内容python
问题描述
我有 7 列,每列有数百万行数据。
我需要从第 2、3、4、5、6、7 列复制数据并将其放在第 1 列内容的末尾。这将导致第 1 列具有其原始内容(100 万行)加上其余列的附加内容(600 万行)。
我想改变这个:
A B C
1 4 7
2 5 8
3 6 9
进入这个:
A
1
2
3
4
5
6
7
8
9
我尝试使用熊猫,但它没有给我想要的输出。我没有按时间顺序从 1 到 9 排序,而是使用下面的代码按行排序 (1,4,7,2,5,8,3,6,9)。任何想法如何正确地做到这一点?
import pandas as pd
df = pd.read_excel('filename.xlsx', sheet_name='Sheet1')
df = df.stack().reset_index(drop=True)
df.to_excel("output.xlsx")
解决方案
尝试pd.melt
df_new = pd.melt(df).drop("variable", axis=1)
print(df_new)
value
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
推荐阅读
- url-rewriting - haproxy 重写以完全替换主机名并默认重定向基本 url 到登录
- python - 如何在 Jupyter 中可视化带有许多标签的条形图?
- erlang - 为什么第二次调用接收没有在 Erlang shell 中检索消息?
- read-the-docs - 尝试在阅读文档时创建 Sphinx 文档时 - 抱怨 libpulse-mainloop-glib.so.0
- c++ - C++20 comparison: warning about ambiguous reversed operator
- sql - 无键加入 - SQL
- reactjs - Cannot type into input field in React
- python - 如何在一个请求中创建多个对象?其中每个对象都有文件字段
- hyperledger-fabric - Hyperledger-fabric2.0 运行第一次网络故障。无法读取“.tar.gz”处的链码包
- hive - Presto 与大表(9 亿条记录)的完全连接比 Hive 慢得多