python - Numpy 数组作为 pandas 数据框管理的元素
问题描述
我正在考虑使用 Pandas 数据框。我想找到一种有效的方法,每次列名包含数字 4 时创建第二个 Dataframe,因此列元素是数组。
import pandas as pd
data = {"A4aa":[[1, 2,3,4]], "B":[12,],"B4bb":[[5, 6,7,8]]}
data1 = {"A0aa":[1],"A1aa":[2],"A2aa":[3],"A3aa":[4], "B":[12,],"B0bb":[5],"B1bb":[6],"B2bb":[7],"B3bb":[8]}
df = pd.DataFrame(data)
df1 = pd.DataFrame(data1)
A4aa B B4bb
0 [1, 2, 3, 4] 12 [5, 6, 7, 8]
data1 = {"A0":[1],"A1":[2],"A2":[3],"A3":[4], "B":[12,],"B0":[5],"B1":[6],"B2":[7],"B3":[8]}
df1 = pd.DataFrame(data1)
A0aa A1aa A2aa A3aa B B0bb B1bb B2bb B3bb
0 1 2 3 4 12 5 6 7 8
解决方案
def f(df):
def g(c):
pre, *suf = c.split('4')
if suf:
return pd.DataFrame(df[c].tolist()).add_prefix(pre).add_suffix(''.join(suf))
else:
return df[c]
return pd.concat(map(g, df), axis=1)
f(df)
A0aa A1aa A2aa A3aa B B0bb B1bb B2bb B3bb
0 1 2 3 4 12 5 6 7 8
推荐阅读
- azure - Azure cosmosDB 中的子查询和 GroupBy
- vue.js - 如何通过使用 vuetify 单击按钮来更改背景颜色?
- python - 使用 beautifulsoup 在 python 中构建 webcrawler 的警告
- ios - 如何分配每个 IBAction(在第二个 ViewController 内)以在 TableView 中的特定选择下执行?
- css - 如何处理scss mixin中的引号
- python - 成功训练 Model.fit 但在 collab 上运行 model.predict 时提示资源错误
- python-3.x - 高斯噪声不会应用于整个图像
- python - 计算不相交集的高度
- sas - 基于变量值创建新列的 SAS 过程
- html - 在 Bootstrap 4 中将项目拉伸到屏幕的整个长度