我有一个数据帧,看起来像这样: DATE FOLIO_ID LAT ... DIA HORA CIUDAD_APROXIMADA
0 11/01/2018 D00001 22.768507 ... 4 15 SAN NICOLAS DE LOS GARZA
1 26/02/2018 D00009 25.708889 ... 1 2 SAN NICOLAS DE LOS GARZA
2 01/01/2018 D00014 25.647176 ... 1 4
我在Pandas中有一个dataframe,它的列将对应于dict的键和值。 for values in ['A','B']:
MYDICT[values] = [] # Initialize to empty list
Name ID othercolumns
A 5 ...
B 6 ...
A 3 ... 我正在尝试找到一种简单的方法来将Name的每个值赋给ID,以便MYDICT[NAME].append(ID) 我目前的解决方案是迭代数据帧中的每一行 for index,
我试图遍历数据帧中的每一行,并检查选定的行是否有3个以上的空值(此部分有效),然后删除整个行。但是,在尝试从数据帧中删除上述行时,我遇到了一个错误:
AttributeError:'NoneType‘对象没有属性'index'
如果这段代码效率低下,请原谅我,我只需要它来工作。
import pandas as pd
df = pd.read_csv('data/mycsv.csv')
i = 0
while i < len(df.index):
if df.iloc[i].isnull().sum() > 3:
在pandas中按行或按列混洗数据帧的简单而有效的方法是什么?即如何编写一个函数shuffle(df, n, axis=0),该函数接受一个数据帧、多个随机n和一个轴(axis=0是行,axis=1是列),并返回已经被随机n次的数据帧的副本。
编辑:关键是在不破坏数据帧的行/列标签的情况下执行此操作。如果你只是混洗df.index,就会丢失所有的信息。我希望生成的df与原始的相同,只是行的顺序或列的顺序不同。
Edit2:我的问题不清楚。当我说对行进行混洗时,我指的是独立地对每一行进行混洗。因此,如果您有两列a和b,我希望每一行都按自己的顺序排列,这样您就不会像将每一行作为一个整体重新排序时那
我正在转换来自Excel的数据帧,该数据帧的数据在同一单元格中按“enter”拆分 以下示例(请注意,这只是一个数据点): Company Name
6221 - Jacksonville, FL
Total Stock
This is a description
$400
$999 预期输出: Company | Location | Stock | Description | Price | High
Company Name | Jacksonville FL | Total Stock | This is a Description | $400 | $999 如何使用pandas将
我在熊猫里有两个数据帧。DF "A“包含区域名称的起始和结束索引。DF "B“包含子区域的起始索引和结束索引。目标是提取所有区域的所有子区域。
示例:
A:
start index | end index | zone name
-----------------------------------
1 | 10 | X
B:
start index | end index | subzone name
-----------------------------------
2 | 3
我正在尝试填充一个数据帧,我用它来绘制一些销售数据,用零填充一年中剩下的几周。我的代码如下:
weeks = [x for x in range(max(sales['WEEK']+1),53)]
padding = pd.DataFrame(np.zeros((53max(sales['WEEK']+1),len(sales.columns))),index=weeks)
这将返回一个pandas DataFrame,43行x 3列。我真正需要做的是将43行中每一行的索引重复7次,得到一个有301行的DataFrame。我解决不了这个问题,有什么好主意吗?
我正在为机器学习模型进行特征提取,每一行我都需要将当前价格与前一个价格进行比较。为此,我按datetime列对数据进行排序,遍历行并保留一个字典,其中的产品ID为键,最后的价格为值。我的数据集非常大,在我的培训集和测试集中大约有500万的“销售额”。即使在一个很小的样本(大约250 k的产品)上,它也需要很长的时间和大量的内存。我在代码的其他部分中使用了同样多的矢量化函数,但我不知道如何使这个部分更高效。我现在要做的是:
data = data.sort_values('date_time')
previous_price = {}
data_list = []
for ind
我有一组事件数据,大致格式如下:
Incident # Date Year State Criminal Offense Location
155k事件。我想创建一个新的数据帧序列,对未分组的数据进行分组(即,与此链接中的第一步相反:)。我希望数据帧包含上述最后两列中每一列的每个分类计数的每一年/每个州的总数(但每个年份-州组合只有一行),因此它将是两个单独的数据帧:
Year State Sum of Criminal Offense 1 Sum of Criminal Offense 2 Sum of Crim 3
和
Year State
我正在尝试使用bomrang包和tidyverse.汇总一些降雨数据,我尝试使用dplyr::group_by(year)来计算年平均降雨量,然后使用summarise和mean来计算。但是,我没有得到不同的年度平均值,而是在整个数据帧中获得了相同的平均值。
# load the libraries
library(bomrang)
library(tidyverse)
# get the data
perth <- get_historical(009225, "rain")
# group by year and calculate average rainfal
我有一个数据帧,由名称和每0.1秒的速度测量值组成。我想要得到速度超过限速0.3秒(即连续3行)的次数。 limit = 25.3
Name speed time
Mary 25.6 0.1
Mary 25.8 0.2
Mary 25.1 0.3
Mary 24.4 0.4
Mary 24.2 0.5
Mary 25.8 0.6
Mary 25.9 0.7
Mary 25.8 0.8
Mary 25.4 0.9
Mary 24.9 1.0
Mary 25.6 1.1
Mar
在Pandas中,有一个方法DataFrame.shift(n)将数组的内容相对于索引移动n行,类似于np.roll(a,n)。我似乎找不到办法让达斯克有类似的行为。我意识到,像行轮班这样的事情可能很难用达斯克的分块系统来管理,但我不知道有什么更好的方法来将每一行与下一排进行比较。
我想要做的是:
import numpy as np
import pandas as pd
import dask.DataFrame as dd
with pd.HDFStore(path) as store:
data = dd.from_hdf(store, 'sim')[col1