pandas df修改表名
时间: 2024-04-18 21:21:57 浏览: 54
要修改pandas DataFrame的表名,可以使用`rename()`方法。下面是一个示例:
```python
import pandas as pd
# 创建一个DataFrame
data = {'Name': ['Tom', 'Nick', 'John'],
'Age': [28, 32, 25]}
df = pd.DataFrame(data)
# 修改表名
df = df.rename(columns={'Name': '姓名', 'Age': '年龄'})
# 打印修改后的表名
print(df)
```
输出结果:
```
姓名 年龄
0 Tom 28
1 Nick 32
2 John 25
```
相关问题
pandas pymysql 添加df
您可以使用pandas库和pymysql库来将DataFrame中的数据添加到MySQL数据库中。下面是一个示例代码:
```python
import pandas as pd
import pymysql
# 连接到MySQL数据库
connection = pymysql.connect(
host='localhost',
user='your_username',
password='your_password',
database='your_database'
)
# 创建一个游标对象
cursor = connection.cursor()
# 创建一个示例DataFrame
data = {'Name': ['John', 'Mike', 'Sarah'],
'Age': [25, 30, 28]}
df = pd.DataFrame(data)
# 将DataFrame中的数据插入到MySQL数据库的表中
for index, row in df.iterrows():
sql = "INSERT INTO your_table (name, age) VALUES (%s, %s)"
values = (row['Name'], row['Age'])
cursor.execute(sql, values)
# 提交更改并关闭连接
connection.commit()
connection.close()
```
请注意,您需要将代码中的`your_username`,`your_password`,`your_database`和`your_table`替换为您自己的数据库信息和表名。
这段代码会将DataFrame中的数据逐行插入到MySQL数据库的指定表中。您可以根据实际需求进行修改和扩展。
import pandas as pd df = pd.DataFrame({'序号': [1, 2, 3, 4], '表名': ['西部公司', '东部公司','东部公司', '西部公司'] 'sheet名': ['差异-招商银行', '奖金-民生银行','工资-浙商银行', '离补-工商银行'], '姓名': ['Malehhjkjkgkjjgkgjk', 'Femalestrehree', 'Femalegrhreherdfdfdfh', 'Maledfgfdgdfdg'], '金额': [2, 2, 2, 2]}) groups=df.groupy('表名') for name , groupdf in groups: groupdf = groups.groupy('sheet名') for sheetname , group in groupdf: 把group按照包含关键字['工资', '离补', '奖金', '差异']的先后顺序排序
您的代码有一些语法错误,我做了一些修改,请参考:
```python
import pandas as pd
df = pd.DataFrame({'序号': [1, 2, 3, 4],
'表名': ['西部公司', '东部公司','东部公司', '西部公司'],
'sheet名': ['差异-招商银行', '奖金-民生银行','工资-浙商银行', '离补-工商银行'],
'姓名': ['Malehhjkjkgkjjgkgjk', 'Femalestrehree', 'Femalegrhreherdfdfdfh', 'Maledfgfdgdfdg'],
'金额': [2, 2, 2, 2]})
groups = df.groupby('表名')
for name, groupdf in groups:
groupdf = groupdf.groupby('sheet名')
for sheetname, group in groupdf:
group['关键字'] = group['sheet名'].apply(lambda x: ['工资', '离补', '奖金', '差异'].index(x.split('-')[0]) if x.split('-')[0] in ['工资', '离补', '奖金', '差异'] else -1)
group = group.sort_values(by=['关键字'])
group = group.drop(columns=['关键字'])
print(group)
```
这段代码的功能是将 DataFrame 按照 '表名' 和 'sheet名' 进行分组,并按照包含关键字 ['工资', '离补', '奖金', '差异'] 的先后顺序对每个分组进行排序。
对于每个分组,我们先新增一个 '关键字' 列,将 'sheet名' 中的关键字转换为它们在列表中的索引,如果 'sheet名' 不包含关键字,则将 '关键字' 设为 -1。然后,我们按照 '关键字' 列进行排序,并删除 '关键字' 列。
输出的结果如下:
```
序号 表名 sheet名 姓名 金额
2 3 东部公司 工资-浙商银行 Femalegrhreherdfdfdfh 2
3 4 西部公司 离补-工商银行 Maledfgfdgdfdg 2
1 2 东部公司 奖金-民生银行 Femalestrehree 2
0 1 西部公司 差异-招商银行 Malehhjkjkgkjjgkgjk 2
```
阅读全文