df = df.groupby(df.index).sum()
我有一个包含380万行(单列)的数据框,并且我试图按索引对它们进行分组。但是,它需要永远完成计算。是否有其他方法可以处理非常大的数据集?提前致谢!!!!
我正在用Python编写。
数据如下所示。索引是客户ID。我想组qty_liter通过Index。
df = df.groupby(df.index).sum()
但是这一行代码花了太多时间.....
有关此df的信息如下:
df.info()
<class 'pandas.core.frame.DataFrame'>
Index: 3842595 entries, -2147153165 to \N
Data columns (total 1 columns):
qty_liter object
dtypes: object(1)
memory usage: 58.6+ MB
数据框具有字符串类型的日期列 '2017-01-01'
它转换为 DateType()
df = df.withColumn('date', col('date_string').cast(DateType()))
Run Code Online (Sandbox Code Playgroud)
我想计算first day和last day列.我尝试使用以下代码,但它们不起作用.谁能提出任何建议?谢谢!
df.select('date').min()
df.select('date').max()
df.select('date').last_day()
df.select('date').first_day()
Run Code Online (Sandbox Code Playgroud) 我有一个如下所示的数据框:
description
1906 RES 330 ML
1906 RES 330ML
RES 335 c/6
RES 332 c/12
Run Code Online (Sandbox Code Playgroud)
我想提取数字的三个连续数字并将其保存在新列"体积"中.我的代码是这样的:
df['volume'] = df['description'].str.extract('([([\d]*[\d]){3,3}?])')
Run Code Online (Sandbox Code Playgroud)
预期的结果应该是这样的:
volume
330
330
335
332
Run Code Online (Sandbox Code Playgroud)
但是,它给出了如下结果:
volume
1906
1906
335
332
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我修复此代码吗?非常感谢!!!