Python 在数据帧中添加具有相同列值的行

Python 在数据帧中添加具有相同列值的行,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个以日期和小时为列的熊猫数据框。现在我想添加相同日期的小时数。例如,要做到这一点: 7-1-2016 | 4 7-1-2016 | 2 4-1-2016 | 5 为此: 7-1-2016 | 6 4-1-2016 | 5 有没有一种在大文件上执行此操作的快速方法?将索引设置为日期允许您使用重采样方法(以及许多其他时间序列功能)。如果您有其他分析要做,我建议: df.index = pd.to_datetime(df['datecol'].astype(str) + ' ' + df['

我有一个以日期和小时为列的熊猫数据框。现在我想添加相同日期的小时数。例如,要做到这一点:

7-1-2016 | 4
7-1-2016 | 2
4-1-2016 | 5
为此:

7-1-2016 | 6
4-1-2016 | 5

有没有一种在大文件上执行此操作的快速方法?

将索引设置为日期允许您使用重采样方法(以及许多其他时间序列功能)。如果您有其他分析要做,我建议:

df.index = pd.to_datetime(df['datecol'].astype(str) + ' ' + df['Hourcol'].astype(str), format='%Y-%m-%d %H')
df = df.resample('1d', how='sum') # defaults to mean 
如果列已经是字符串,则根据需要省略.astpye(str)。但是,

df.groupby('datecol').sum()['Hourcol']

如果这是您想要进行的唯一分析,则也将起作用。如果小时列不是数字,您可能需要添加.astype(int)。

此处
GroupBy
可用于提供所需的输出

DataFrame.groupby(by=None,axis=0,level=None,as\u index=True,sort=True,group\u keys=True,squeak=False)
使用映射器(dict或key函数,将给定函数应用于组,以序列形式返回结果)或通过一系列列对序列进行分组

尝试:

df.groupby('date')['hours'].sum()

您是否可以发布原始数据、代码以复制df,您的代码缺少列名。无论如何,我认为这是可行的:
df.groupby('date')['hours'].sum()
我现在发现我忘了包含一些代码,但这似乎是可行的。非常感谢你!这似乎是可行的,但并不是所有地方都符合正确的价值观。我认为这与小时是DateTime对象这一事实有关。这是我得到的一个输出,例如:2013-12-30 0天08:00:00不管怎样,我的数据中有一个错误。很有效,非常感谢!