草庐IT

python - 以最小的内存占用拆分大型 Pandas Dataframe

我有一个很大的DataFrame,我想将它分成一个测试集和一个用于模型构建的训练集。但是,我不想复制DataFrame,因为我已达到内存限制。是否有类似于pop但对于大段的操作,它会同时删除DataFrame的一部分并允许我将其分配给新的DataFrame?像这样:#AssumeIhaveinitializedaDataFrame(called"all")whichcontainsmylargedataset,#withabooleancolumncalled"test"whichindicateswhetherarecordshouldbeusedfor#testing.printl

python - 多列的 pandas get_level_values

有没有办法得到get_level_values的结果?不止一列?给定以下DataFrame:dabc14101611175121825131961420371521我希望获得级别a和c的值(即元组列表):[(1,10),(1,11),(1,12),(2,13),(2,14),(3,15)]注意事项:get_level_values不可能超过一级(例如df.index.get_level_values(['a','c'])有一种解决方法,可以在每个所需的列上使用get_level_values并将它们zip在一起:例如:a_list=df.index.get_level_values('

python - Pandas - 每个经度/纬度的数据组/箱

我有一堆地理数据如下。我想按经度0.2度和纬度0.2度的分箱对数据进行分组。虽然对纬度或经度做这件事很简单,但对这两个变量做这件事最合适的是什么?|User_ID|Latitude|Longitude|Datetime|u|v||---------|----------|---------|-------------------|-----|-----||222583401|41.4020375|2.1478710|2014-07-0620:49:20|0.3|0.2||287280509|41.3671346|2.0793115|2013-01-3009:25:47|0.2|0.7|

python - Pandas : TypeError: float() argument must be a string or a number

我有一个包含的数据框user_iddatebrowserconversiontestsexagecountry12015-12-03IE10M32.0US这是我到目前为止的全部代码!data["country"].fillna("missing")data["age"].fillna(-10000,inplace=True)data["ads_channel"].fillna("missing")data["sex"].fillna("missing")data['date']=pd.to_datetime(data.date)columns=data.columns.tolist()

python - pandas groupby 偏移不同的开始

我有一个简单的抵消问题,我似乎无法在之前的其他帖子中找到答案。我正在尝试按周分组,但默认的df.groupby(pd.TimeGrouper('1W'))给我从周日开始的分组。例如,我希望这个groupby在星期二开始。我试图天真地添加pd.DateOffset(days=2)作为附加参数,但这似乎不起作用。 最佳答案 偏移量字符串可以包含指定句点类型何时开始的组件。在您的情况下,您需要W-Tuedf.groupby(pd.TimeGrouper('W-Tue')) 关于python-p

python - Pandas read_csv 加速

我正在读取一个大型csv,它有大约1000万行和20个不同的列(带有标题名称)。我有值,2列带有日期和一些字符串。目前我需要大约1.5分钟来加载这样的数据:df=pd.read_csv('data.csv',index_col='date',parse_dates='date')我想问一下,我怎样才能使它更快,读取数据后具有相同的数据帧。我尝试使用HDF5数据库,但速度同样慢。我尝试读取的数据子集(我选择了8列,并从实际的20列和几百万行中给出了3行):DateCompRatingPriceEstpriceDividend?Date_earningsReturns3/12/2017Ap

python - 使用时间序列时在 Pandas 滚动中使用中心

我正在尝试在pandas滚动函数中为时间序列设置center=True:importpandasaspdseries=pd.Series(1,index=pd.date_range('2014-01-01','2014-04-01',freq='D'))series.rolling('7D',min_periods=1,center=True,closed='left')但是输出是:---------------------------------------------------------------------------NotImplementedErrorTraceback

python - 如何将合并的 Excel 单元格与 NaN 读入 Pandas DataFrame

我想将Excel工作表读入PandasDataFrame。但是,存在合并的Excel单元格以及Null行(完整/部分NaN已填充),如下所示。为澄清起见,JohnH.已下订单购买从“TheBodyguard”到“RedPillBlues”的所有专辑。当我将此Excel工作表读入PandasDataFrame时,Excel数据未正确传输。Pandas将合并的单元格视为一个单元格。DataFrame如下所示:(注意:()中的值是我想要的值)请注意,最后一行不包含合并单元格;它只包含Artist列的值。编辑:我确实尝试了以下方法来前向填充NaN值:(Pandas:ReadingExcelwi

python - 有没有办法加快以下 pandas for 循环?

我的数据框架包含10,000,000行!groupby后,还有约9,000,000个子帧需要循环。代码是:data=read.csv('big.csv')forid,new_dfindata.groupby(level=0):#lookatminidfanddosomeanalysis#somecodeforeachofthesmalldataframes这是非常低效的,代码现在已经运行了10多个小时。有什么办法可以加快速度吗?完整代码:d=pd.DataFrame()#newdftopopulateprint'Startoftheloop'forid,new_dfindata.gro

python - 如何选择 Pandas 中的行范围?

我创建了一个具有一系列特征的数据框。我想创建一个新列来选择两个特定行(将作为输入)之间的所有行。假设数据框如下:data={'currency':['Euro','Euro','Euro','Dollar','Dollar','Yen','Yen','Yen','Pound','Pound','Pound,'Pesos','Pesos'],'cost':[34,67,32,29,48,123,23,45,78,86,23,45,67]}df=pd.DataFrame(data,columns=['currency','cost'])dfdf表:我想添加一个新列,在满足条件时分配1。在我