【发布时间】:2022-01-10 00:00:32
【问题描述】:
这就是我所做的,我拿了一个 SQL 表,然后用 pandas 读取它:
import pandas as pd
df = pd.read_sql(query, conn)
作为“查询”,我想从数据库中获取的表和“conn”与数据库的连接。我做的查询,以防万一你需要知道基本上是一个 SELECT 我加入多个表,我按数量和总和对它们进行分组。像这样的:
SELECT p.quantity, sum(s.count)
FROM data_base.stock s
JOIN blah blah
JOIN blah blah
JOIN blah blah
WHERE blah blah
GROUP BY p.quantity
这给了我一个像这样的表格: 可用啤酒总数:
**quantity** **sum**
220 3223
620 5654
315 3455
我希望表格没有默认名称,我想稳定它们,我发现下一行代码可以工作:
df = df.rename(
columns={'quantity': 'Presentation (mL)', 'sum':'Available (Unities)'},
index={'220': '220mL Bottle', '315':'315mL Bottle', '620':'620mL Bottle'}
)
而且,问题出在这里,结果表是这样显示的,索引没有改变:
**Presentation(mL)** **Availale (Unities)**
220 3223
620 5654
315 3455
我做错了什么?
【问题讨论】:
-
您确定您的数量列是索引而不是列吗?
-
如果“Presentation(mL)”是索引并且您想重命名数据框的索引,df.index.name = 'Presentation (mL)'。如果要重命名列,df.rename(columns={"quantity": "resentation (mL)", "sum": "Availale (Unitities)"})
-
@EmiOB 我很确定,这是我所依据的文档或示例:Pandas Dataframe Rename
-
@Alex 我确实更改了列,并且正如您所说,它可以工作。但是我要更改的索引是“220”、“315”和“620”,而我这样做是行不通的。
-
willyro93,“数量”是列?如果是这样,请尝试使用 df.set_index('Presentation(mL)')
标签: python sql pandas database dataframe