python - Python中有什么方法可以改变列的位置吗?
问题描述
嗨,在 Python 中有什么方法可以让我改变列的位置,如下所示:
非常感谢!
更新:我一直在尝试以转储方式重新构建列,我可以应用任何代码来提高效率吗?谢谢。
now = dt.datetime.now()
length = relativedelta(weeks = 8)
start = now - length
end = now
stocks = ['TSLA','AMZN','FB']
tokens = ['BTC-USD','ETH-USD','DOGE-USD','XRP-USD']
#2. Get data and arrange them together without NaNs
stocks = web.DataReader(stocks, 'yahoo', start, end)
tokens = web.DataReader(tokens, 'yahoo', start, end)
df = tokens.merge(stocks, how='inner', right_index = True, left_index = True)
df.dropna(inplace = True)
df = df[[('Open', 'TSLA'),('High', 'TSLA'),('Low', 'TSLA'),('Close', 'TSLA'),('Adj Close', 'TSLA'),('Volume', 'TSLA'),
('Open', 'AMZN'),('High', 'AMZN'),('Low', 'AMZN'),('Close', 'AMZN'),('Adj Close', 'AMZN'),('Volume', 'AMZN'),
('Open', 'FB'),('High', 'FB'),('Low', 'FB'),('Close', 'FB'),('Adj Close', 'FB'),('Volume', 'FB'),
('Open', 'BTC-USD'),('High', 'BTC-USD'),('Low', 'BTC-USD'),('Close', 'BTC-USD'),('Adj Close', 'BTC-USD'),('Volume', 'BTC-USD'),
('Open', 'ETH-USD'),('High', 'ETH-USD'),('Low', 'ETH-USD'),('Close', 'ETH-USD'),('Adj Close', 'ETH-USD'),('Volume', 'ETH-USD'),
('Open', 'DOGE-USD'),('High', 'DOGE-USD'),('Low', 'DOGE-USD'),('Close', 'DOGE-USD'),('Adj Close', 'DOGE-USD'),('Volume', 'DOGE-USD'),
('Open', 'XRP-USD'),('High', 'XRP-USD'),('Low', 'XRP-USD'),('Close', 'XRP-USD'),('Adj Close', 'XRP-USD'),('Volume', 'XRP-USD')]]
df.to_csv('Data/newohlc.csv')
解决方案
您可以使用语法 DataFrame[["column1", "column2", "column3"]] 按所需顺序对列名进行重新排序。例子:
import pandas as pd
import numpy as np
df1 = {
'Name':['George','Andrea','micheal','maggie','Ravi',
'Xien','Jalpa'],
'Gender':["M","F","M","F","M","M","F"],
'Score':[62.7,47.7,55.6,74.6,31.5,77.3,85.4],
'Rounded_score':[63,48,56,75,32,77,85]
}
df1 = pd.DataFrame(df1,columns=['Name','Gender','Score','Rounded_score'])
print(df1)
df2=df1.reindex(columns= ['Rounded_score', 'Gender', 'Score','Name'])
print(df2)
推荐阅读
- java - 无法为 ESAPI SafeString 类型定义最大长度
- c++ - 导入/导出变量时出错
- python - 如何将数据框中的对元组列表转换为列
- python - 使用 PyQt5 从 Python 脚本加载 QDesigner UI 文件
- php - 错误:函数 Campaign::camp_detls() 的参数太少,0 正好传递 1 预期
- ios - swift - 未分配异步任务和被释放的指针
- postgresql - 使用休息时间生成系列
- sql - 在 SQLITE 中转置行列和计算每列的实例数
- python - 使用 Python 请求下载旧版本的 Java
- haskell - GHC 8 - 具有重命名函数的约束类型参数化规则