【问题标题】:Match the 'keys' with dataframe data to display 'values'将 \'keys\' 与数据框数据匹配以显示 \'values\'
【发布时间】:2022-08-15 09:41:09
【问题描述】:

d中的d.keys()如何与df[\'month\']匹配显示d.values

如果假设数据框的数据 01/01/2022、01/02/2022、01/03/2022 等 df[\'month\']中的1如何与d.keys()匹配以显示Jan

df[\'month\'] = pd.to_datetime(df[\'Settlement_Date\']).dt.month


d = {1:\'Jan\', 2:\'Feb\', 3:\'Mar\', 4:\'Apr\', 5:\'May\', 6:\'Jun\',...}
  • 您能否在问题中包含dput(df) 的输出?
  • 你可以做df[\"month\"].replace(d) 它将用你的字典中相应的月份值替换月份数字。

标签: python


【解决方案1】:

你可以map字典给个-

df = pd.DataFrame(pd.date_range('1-Jan-2022', '1-Jun-2022', freq='M'), columns=['dates'])
d = {1:'Jan', 2:'Feb', 3:'Mar', 4:'Apr', 5:'May', 6:'Jun'}
df['dates'].dt.month.map(d)

输出

0    Jan
1    Feb
2    Mar
3    Apr
4    May
Name: dates, dtype: object

【讨论】:

    【解决方案2】:

    您可以在数据框上使用应用功能。让我们看看你的例子:

    month_labels = {1: 'Jan', 2: 'Feb', 3: 'March', 4: 'April', 5: 'May', 6: 'June', 7: 'July', 8: 'August',9: 'Spet', 10: 'Oct', 11: 'Nov', 12: 'Dec'}
    
    df['month'] = df['date'].dt.month
    df['month'].apply(lambda x: month_labels[x])
    

    此外,如果您有将数字转换为日期的特定用例,您可以在 pandas 中使用 .dt.month_name() 函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      • 2016-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-21
      • 2022-01-09
      相关资源
      最近更新 更多