Questions tagged «pandas»

Pandas是用于数据处理和分析的Python库,例如,在统计,实验科学结果,计量经济学或金融学中常见的数据框,多维时间序列和横截面数据集。Pandas是Python中主要的数据科学库之一。

2
识别树木中的生父母和所有子女
我有这样的熊猫数据框: parent child parent_level child_level A B 0 1 B C 1 2 B D 1 2 X Y 0 2 X D 0 2 Y Z 2 3 这代表一棵看起来像这样的树 A X / / \ B / \ /\ / \ C D Y | Z 我想产生类似以下内容的东西: root children A …
11 python  pandas 

4
在元素计数不等于1的组上过滤DataFrame
我正在使用具有以下结构的DataFrame: import pandas as pd df = pd.DataFrame({'group':[1,1,1,2,2,2,2,3,3,3], 'brand':['A','B','X','C','D','X','X','E','F','X']}) print(df) group brand 0 1 A 1 1 B 2 1 X 3 2 C 4 2 D 5 2 X 6 2 X 7 3 E 8 3 F 9 3 X 我的目标是仅查看与他们关联的品牌完全相同的群体X。由于组2具有两个等于brand的观察值X,因此应从结果DataFrame中将其滤除。 输出应如下所示: group brand 0 1 A 1 …

2
熊猫:基于局部极小值最大值的数据之字形分割
我有一个时间序列数据。产生资料 date_rng = pd.date_range('2019-01-01', freq='s', periods=400) df = pd.DataFrame(np.random.lognormal(.005, .5,size=(len(date_rng), 3)), columns=['data1', 'data2', 'data3'], index= date_rng) s = df['data1'] 我想创建一条连接局部最大值和局部最小值之间的曲折线,它满足以下条件:|highest - lowest value|每条曲折线在y轴上必须超过上一条距离的百分比(例如20%)之字形线,以及预先设定的值k(例如1.2) 我可以使用以下代码找到本地极值: # Find peaks(max). peak_indexes = signal.argrelextrema(s.values, np.greater) peak_indexes = peak_indexes[0] # Find valleys(min). valley_indexes = signal.argrelextrema(s.values, np.less) valley_indexes = valley_indexes[0] # Merge peaks and valleys data …

3
转换多个分类列
在我的数据集中,我想列举两个分类列。两列都包含国家,有些重叠(出现在两列中)。我想在同一国家的column1和column2中给出相同的数字。 我的数据看起来像: import pandas as pd d = {'col1': ['NL', 'BE', 'FR', 'BE'], 'col2': ['BE', 'NL', 'ES', 'ES']} df = pd.DataFrame(data=d) df 目前,我正在像这样转换数据: from sklearn.preprocessing import LabelEncoder df.apply(LabelEncoder().fit_transform) 但是,这在FR和ES之间没有区别。是否有另一种简单的方法可以得到以下输出? o = {'col1': [2,0,1,0], 'col2': [0,2,4,4]} output = pd.DataFrame(data=o) output


3
将Python函数应用于Pandas分组的DataFrame-加快计算速度的最有效方法是什么?
我正在处理相当大的Pandas DataFrame-我的数据集类似于以下df设置: import pandas as pd import numpy as np #--------------------------------------------- SIZING PARAMETERS : R1 = 20 # .repeat( repeats = R1 ) R2 = 10 # .repeat( repeats = R2 ) R3 = 541680 # .repeat( repeats = [ R3, R4 ] ) R4 = 576720 # .repeat( repeats …

6
AttributeError:“ DataFrame”对象没有属性“ ix”
当我尝试使用pandas数据框的.ix属性提取列时,出现上述错误,例如df.ix [:,'col_header']。该脚本从今天早上开始运行,但是今天下午我在带有新安装的Pandas的新Linux环境中运行了该脚本。其他人以前见过这个错误吗?我在这里和其他地方搜索过,但找不到。

3
从Pandas数据框中仅解冻部分列
我有以下示例数据框: df = pd.DataFrame(data = {'RecordID' : [1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5], 'DisplayLabel' : ['Source','Test','Value 1','Value 2','Value3','Source','Test','Value 1','Value 2','Source','Test','Value 1','Value 2','Source','Test','Value 1','Value 2','Source','Test','Value 1','Value 2'], 'Value' : ['Web','Logic','S','I','Complete','Person','Voice','>20','P','Mail','OCR','A','I','Dictation','Understandable','S','I','Web','Logic','R','S']}) 创建以下数据框: +-------+----------+---------------+----------------+ | Index | RecordID | Display Label | Value | +-------+----------+---------------+----------------+ | 0 | 1 | Source | Web | | 1 | 1 …

1
Pandas DataFrame子类的属性设置器
我试图pd.DataFrame在初始化(group和timestamp_col)时建立一个具有两个必需参数的子类。我想对这些参数group和进行验证timestamp_col,所以我对每个属性都有一个setter方法。这一切都是有效的,直到我尝试set_index()得到TypeError: 'NoneType' object is not iterable。在test_set_index和中,似乎没有参数传递给我的setter函数test_assignment_with_indexed_obj。如果添加if g == None: return到setter函数中,则可以通过测试用例,但认为这不是正确的解决方案。 如何为这些必需的参数实施属性验证? 下面是我的课: import pandas as pd import numpy as np class HistDollarGains(pd.DataFrame): @property def _constructor(self): return HistDollarGains._internal_ctor _metadata = ["group", "timestamp_col", "_group", "_timestamp_col"] @classmethod def _internal_ctor(cls, *args, **kwargs): kwargs["group"] = None kwargs["timestamp_col"] = None return cls(*args, **kwargs) def __init__( self, …

2
如何从Python-3的DataFrame中查找前N个最小值
我在数据框下方有字段“年龄”,需要从数据框中找到前3个最低年龄 DF = pd.DataFrame.from_dict({'Name':['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], 'Age':[18, 45, 35, 70, 23, 24, 50, 65, 18, 23]}) DF['Age'].min() 要在列表中排名前两个年龄(即18、23),如何实现? 注意:DataFrame-DF包含年龄重复项,即18和23重复两次,需要唯一值。

3
在熊猫数据框中将第二行移到上方一行
我有这种形状的数据框: A B C D E 213-1 XL NaN NaN NaN 21 22.0 12 232.0 101.32 23-0 L NaN NaN NaN 12 23 12 232.2 NaN 31-0 LS NaN NaN NaN 70 70 23 NaN 21.22 我想将该数据帧的第二行移到上面的行,以便只剩下合并的行,如预期结果所示: ID Name A B C D E 213-1 XL 21 22.0 12 232.0 …
9 python  pandas 

1
合并两个数据框并使用名称添加列级别
嗨,我一直在研究大熊猫的concat,join和merge方法,但似乎找不到我想要的东西。 假设我有两个数据框 A = pd.DataFrame("A",index=[0,1,2,3,4],columns=['Col 1','Col 2','Col 3']) B = pd.DataFrame("B",index=[0,1,2,3,4],columns=['Col 1','Col 2','Col 3']) >>> A Col 1 Col 2 Col 3 0 A A A 1 A A A 2 A A A 3 A A A 4 A A A >>> B Col 1 Col 2 Col 3 …

2
dtypes在第一个轴上移动时会变乱(列)
考虑数据框 df df = pd.DataFrame(dict(A=[1, 2], B=['X', 'Y'])) df A B 0 1 X 1 2 Y 如果我前进axis=0(默认) df.shift() A B 0 NaN NaN 1 1.0 X 它按预期将所有行向下推一行。 但是当我前进时 axis=1 df.shift(axis=1) A B 0 NaN NaN 1 NaN NaN 一切都为零 A B 0 NaN 1 1 NaN 2 我知道为什么会这样。对于axis=0,Pandas逐列进行操作,其中每一列都是单个的,dtype并且在移动时,对于如何NaN在开始或结束时处理引入的值有明确的协议。但是,当axis=1我们继续前进时,我们会引入dtype从一列到另一列的潜在歧义。在这种情况下,我尝试将力int64插入object列中,而Pandas决定只将这些值设为空。 当dtypesare …
9 python  pandas 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.