python-3.x - 附加列并一个接一个地放置
问题描述
我有以下数据框:
a1 | p1 | a2 | p2 | a3 | p3 | ... |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | ... |
7 | 8 | 9 | 10 | 11 | 12 | ... |
而且,我想创建一个这样的数据框:
一个 | p |
---|---|
1 | 2 |
7 | 8 |
3 | 4 |
9 | 10 |
5 | 6 |
11 | 12 |
... | ... |
解决方案
你需要这样的东西吗?
import pandas as pd
import random
a = [random.randint(1,100) for i in range(178) ]
b = [random.randint(1,100) for i in range(178) ]
#Original DF
df = pd.DataFrame({"0": a, "1": b})
#New DF
cf = pd.DataFrame()
cf["Actual Value"] = df["0"]
cf["Predicted Value"] = df["1"]
cf["Error Value"] = df["0"] - df["1"]
cf["Id"] = ["Bin" + str(i + 1) for i in range(178) ]
我误解了你的前一个。
这应该适合你:
import pandas as pd
import random
#Original DF
d = {}
for i in range(int(178)):
a = [random.randint(1,100) for i in range(10) ]
b = [random.randint(1,100) for i in range(10) ]
d["Bin " + str(i+1)] = pd.DataFrame({"0": a, "1": b})
con = pd.concat(d, axis=1)
colum = []
for i in range(178*2):
if i%2 == 0:
colum.append("0")
else:
colum.append("1")
con.columns = colum
#New DF
result = []
count = 0
for i in range(0,178*2,2):
a = con.iloc[:,[i,i+1]]
a["Error"] = a["0"] - a["1"]
a["Bucked"] = "Bin: " + str(count)
result.append(a)
count = count + 1
result = pd.concat(result)
result
推荐阅读
- javascript - 在选择器中转义反斜杠
- java - 如何在没有任何背景的情况下使用 android 启动器图标
- oracle - Sqlldr tab delim 文件加载问题
- angular - 通过在 typescript 中调用方法打开 bootstrap 4 模态
- java - NoSuchMethodError 当不直接调用方法,而是服务方法时
- formula - 将整数值分配给相对值列表
- c# - 单元测试时无法调试 dll - 未命中断点且无法更改属性中的配置
- asp.net - 无法在 asp .net core signalR 中播放示例客户端到服务器流式传输示例
- sql-server - 选择查询逻辑sql server
- c# - MS GraphAPI Drives 创建新文件夹