python - 加入单个 Pandas DataFrame 中的列
问题描述
我有 4 列的 DataFrame,并希望将前 3 列合并到一个新的 DataFrame 中。
数据相同,顺序无关,必须保留任何重复项。
import pandas as pd
data = [['tom', 'nick', 'john', 10], ['bob', 'jane', 'nick', 15]]
df = pd.DataFrame(data, columns = ['col1', 'col2', 'col3','col4'])
所需的数据框
+-----+-----+
|col_a|col_b|
+-----+-----+
|tom |10 |
|nick |10 |
|john |10 |
|bob |15 |
|jane |15 |
|nick |15 |
+-----+-----+
我该怎么做?
解决方案
这是在以下帮助下合并前三列的一种方法numpy
:
a = df.values
pd.DataFrame({'col_a': np.ravel(a[:, :3]), 'col_b': np.repeat(a[:, 3], 3)})
col_a col_b
0 tom 10
1 nick 10
2 john 10
3 bob 15
4 jane 15
5 nick 15
推荐阅读
- javascript - 获取带有 /r/n 值的 url 查询字符串
- tin-can-api - 从 TinCan 简历(无 LMS)
- flutter - 新颤振升级中的地理编码器运行时错误
- java - compileOnly 两个相似的库来生成一个 APK
- javascript - 用 JavaScript 解决这个问题的更高效的方法是什么
- c# - C# 类型从我的类型转换为我的其他类型
- ionic-framework - 默认微调器不是新月形,而是适用于 Android Ionic 4 的线条
- python - python库生成的文件存储在哪里
- multithreading - 按顺序控制多个线程的执行顺序
- python - 向后遍历,如果在内部字典中找到匹配的搜索值,则返回外部字典值