【发布时间】:2021-06-23 15:24:10
【问题描述】:
我正在使用带有 pandas 的 Excel 工作表,我正在分析其中的一些数据。
在 excel 表中,我有 8 列,一列是时间戳,另一列是城市列,诸如域、州等。
我只想分析城市和时间戳列。
我已从数据框中的 excel 表中选择了城市和时间戳列。我找到了城市计数,这意味着有多少行包含使用 cities_df['Count'] = df['City_Town_Village '].value_counts() 的同一个城市
在找到城市计数后,我找出了使用cities_df['PctCnt'] =(cities_df['Count']/sum(cities_df['Count'])*100).apply("{0:.2f}".format)的所有城市的百分比
现在我的问题是,当我找到 city_count 时,我的数据框中的行正在减少,这意味着我的 df 有 238 行,但是在计数之后它们减少到 128 到现在完全没有问题。他们正在减少只是因为计数。
我的 df 中也有时间戳列,假设城市 德里 有些人在 2021 年 5 月 28 日注册,有些人在 2021 年 5 月 29 日注册。但是在找出 city_count 之后,我的 df 只显示了开始日期的时间戳,即 5 月 28 日..
我不知道为什么会发生这种情况,实际上我想将数据分成两周,并希望按周绘制图表。以及城市百分比。
这是我的Excel file
这是我正在使用的代码:
import pandas as pd
df = pd.read_excel('PCS_NWR_Sheet.xlsx')
df.head()
pd.set_option('display.max_rows', 300)
cities_df = pd.DataFrame()
cities_df['Count'] = df['City_Town_Village '].value_counts()
cities_df.index.names=['City']
cities_df.reset_index(inplace = True)
cities_df['Timestamp'] = df['Timestamp']
column_names = ['Timestamp', 'City', 'Count']
cities_df = cities_df.reindex(columns=column_names)
cities_df['PctCnt'] =(cities_df['Count']/sum(cities_df['Count'])*100).apply("{0:.2f}".format)
Metro_list = ['Hyderabad', 'Kolkata', 'Delhi', 'Pune', 'Bengaluru', 'Noida', 'Kanpur', 'Gurgaon']
top_metro=cities_df[cities_df['City'].isin(Metro_list)]
top_metro
【问题讨论】:
标签: python pandas dataframe data-analysis