gpt4 book ai didi

python - 如何强制 Pandas dataframe 列查询仅返回 str 而不解释它所看到的内容?

转载 作者:太空宇宙 更新时间:2023-11-04 04:45:50 25 4
gpt4 key购买 nike

我有一个包含四列名称的 Excel 电子表格:“第一列、第二列、Jun-17 和第三列”

当我在读取数据后显示我的列名称时,我得到的结果与我希望收到的“Jun-17”文本非常不同。我应该采取哪些不同的做法?

import pandas as pd

df = pd.read_excel('Sample.xlsx', sheet_name='Sheet1')

print("Column headings:")
print(df.columns.tolist())

Column headings:
['Column One', 'Column Two', datetime.datetime(2018, 6, 17, 0, 0), 'Column Three']

最佳答案

您的其中一个列名称是 datetime 对象。您可以使用 datetime.strftime 将其重命名为字符串。示例如下。

import datetime
import pandas as pd, numpy as np

df = pd.DataFrame(columns=['Column One', 'Column Two',
datetime.datetime(2018, 6, 17, 0, 0), 'Column Three'])

df.columns.values[2] = df.columns[2].strftime('%b-%d')

# alternatively:
# df = df.rename(columns={df.columns[2]: df.columns[2].strftime('%b-%d')})

df.columns
# Index(['Column One', 'Column Two', 'Jun-17', 'Column Three'], dtype='object')

如果您反复看到这个问题,请将您的数据框包装在一个函数中:

def normalise_columns(df):
df.columns = [i.strftime('%b-%d') if isinstance(i, datetime.datetime) \
else i for i in df.columns]
return df

normalise_columns(df).columns

关于python - 如何强制 Pandas dataframe 列查询仅返回 str 而不解释它所看到的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49662291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com