Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法在GroupBy之后重命名列_Python_Pandas - Fatal编程技术网

Python 无法在GroupBy之后重命名列

Python 无法在GroupBy之后重命名列,python,pandas,Python,Pandas,我正在做以下工作: # Load date data = pd.read_csv('C:/Users/user/Desktop/STOCKS.txt', keep_default_na=True, sep='\t', nrows=5) # Convert dates from object columns to datetime columns data['DATE'] = pd.to_datetime(data_orders['DATE']) print(data.columns) # I

我正在做以下工作:

# Load date
data = pd.read_csv('C:/Users/user/Desktop/STOCKS.txt', keep_default_na=True, sep='\t', nrows=5)

# Convert dates from object columns to datetime columns
data['DATE'] = pd.to_datetime(data_orders['DATE'])

print(data.columns)
# Index(['COUNTRY_ID', 'STOCK_ID', 'DATE', 'STOCK_VALUE'], dtype='object')

# Count of stock per country per day
data_agg= data.groupby(['COUNTRY_ID'], as_index=False).agg({'DATE': 'count'})

print(data_agg.columns)
# Index(['COUNTRY_ID', 'DATE'], dtype='object')

# Rename count column
data_agg.rename({'DATE': 'Count'}, inplace=True)

print(data_agg.columns)
# Index(['COUNTRY_ID', 'DATE'], dtype='object')
正如您在上面最后几行看到的,我尝试在groupby之后重命名聚合列,但由于某些原因,这不起作用,我仍然获取此列的名称日期,而不是计数

如何修复此问题?

需要columns关键字,如果忽略它,请重命名并尝试更改索引值:

data_agg.rename(columns={'DATE': 'Count'}, inplace=True)
另一种解决方案是删除为_index=False并与以下一起使用:

需要columns关键字,如果忽略它,请重命名并尝试更改索引的值:

data_agg.rename(columns={'DATE': 'Count'}, inplace=True)
另一种解决方案是删除为_index=False并与以下一起使用:


我认为这解决了你的问题

data_agg=data_agg.rename(columns={'Date':'Count'})

我认为这解决了你的问题

data_agg=data_agg.rename(columns={'Date':'Count'})

是的,谢谢你的投票。我没有注意到这个细节,在使用这个的时候我必须指定参数列。啊!没有看到asindex=False。是的,就是这样,谢谢投票。我没有注意到这个细节,在使用这个的时候我必须指定参数列。啊!没有看到asindex=False。可湿性粉剂
data_agg= data.groupby('COUNTRY_ID')['DATE'].count().reset_index(name='Count')

print (data_agg)
   COUNTRY_ID  Count
0           1      2
1           3      3
2           4      5
data_agg=data_agg.rename(columns={'Date':'Count'})