我对熊猫不熟悉。我知道如何使用drop_副本并获取数据帧中最后观察到的行。有没有办法,我可以用它只花最后一秒的时间。或者任何其他的方法。
例如:
我想从
df=pd.DataFrame(data={'A':[1,1,1,2,2],'B':[1,2,3,4,5,6]})
df1 = pd.DataFrame(data={'A':[1,2],'B':[2,5]})
其思想是,您将按重复列对数据进行分组,然后检查组的长度,如果组的长度大于或等于2,这意味着您可以切片组的第二个元素,如果组的长度为1,
我有一个有很多行的df:
13790226 0.320 0.001976
9895d5dis 182.600 0.040450
105066007 18.890 0.006432
109067019 52.500 0.034011
111845014 16.400 0.023974
11668574e 7.180 0.070714
113307021 4.110
我有两个矩阵;一个显示数据,另一个显示有关数据的信息。
矩阵数据:
10 0 1 2 3 4 5
0 1979001 0.439353 0.255700 0.270974 0.346030 0.239454 0.229373
1 1979002 0.000000 0.000000 0.000000 0.000000 0.000000 0.
假设我有一些Pandas dataframedf,在许多其他列中有一个名为“HEIGHT”的列
如果我发布列表(df[“HEIGHT”]),那么这将按照数据帧中项目的确切顺序,即按照数据帧的索引排序,给出该列中项目的列表
总是这样吗?df[“HEIGHT”]命令将返回一个序列,list()将其转换为一个列表。但是这些操作总是保持秩序吗?有趣的是,在Pandas作者(!)的书中,从我到目前为止的阅读来看,我不清楚这些基本操作何时保持顺序;顺序可能总是保持不变,还是有一些简单的规则知道什么时候应该保
我有一列datetimes,需要将其中几个值更改为新的datetimes。当我使用df.loc[index,'col']=new_datetime设置值时,未受影响的值被强制为int,而新设置的值在datetime中。如果一次设置一个值,则不会发生类型强制
为了便于说明,我创建了一个只有一列的示例df
df=pd.DataFrame([dt.datetime(2019,1,1)]*5)
df.loc[[1,3,4]=[dt.datetime(2019,1,2)]*3
df
这将产生以下结果:
我有以下数据帧:
<bound method DataFrame.info of <class 'pandas.core.frame.DataFrame'>
MultiIndex: 369416 entries, (datetime.datetime(2008, 1, 2, 16, 0), 'ABC') to (datetime.datetime(2010, 12, 31, 16, 0), 'XYZ')
Data columns:
b_val 369416 no
下面是我的数据帧的一个小示例
In [121]: df
Out[121]:
TXN_KEY SEND_AGENT PAY_AGENT
0 13273870 ANO080012 API352676
1 13274676 AUK359401 API352676
2 13274871 ACL000105 API352676
3 13275398 AED420319 API352676
4 13278566 ARA030210 API352676
5
寻找一个函数(get_ranks(data)?),该函数将返回一组有序的(行、列)元组。因此,对于上述情况:
(2,2), (0,2), (3,2), (1,1), ...
处理一个巨大的数据集,我试图高效地返回对数据帧元素进行排序的元组。尝试了一些笨拙的apply(),rank()等序列,但想要更好的
我搜索了很多地方,但没有找到特别适用于此的评论。我是不是应该把行或列放在一起,然后从那里排序?还是有更直接的途径 以下是您可以做的:
data = pandas.DataFrame(numpy
我试着从正则表达式中获取结果,即
['11J']
['4C']
['5,']
[]
['04 ', '05 ', '48T']
并将这些值存储在现有数据帧的新列(即Apt)中
样本数据(Excel文件)
代码
我得到这个错误:
AssertionError: 3 columns passed, passed data had 1 columns
如何将这些值插入Apt列(无覆盖)
期望输出:
index id apt address job
在阅读了包含多索引的excel工作表后,我发现索引中出现了np.nan,因为有些值是“N/a”,pd.read\u excel认为转换它们是个好主意。但是,我希望将它们保留为“N/A”,以保留多索引。我原以为使用将它们更改回原样很容易,但我发现了以下错误:
index = pd.MultiIndex(levels=[[u'foo', u'bar'], [u'one', np.nan]],
codes=[[0, 0, 1, 1], [0, 1, 0, 1]],
我怎样才能从Pandas牢房得到所有patter事件的列表?可能吗
name_pattern = r'([A]u?[-_\s]?[0-9]{2})'
df["Result"] = df["Name"].str.extract(name_pattern, flags=re.IGNORECASE)
示例文本:
这是一个很好的选择,它是一个真正的选择。发明人除外。Dolor理性Z-99选择doloribus voluptas VERITIATIS voluptatem。在A-99voluptatem
我在玩Seaborn和Matplotlib,我试图找到最好的图表类型来显示泰坦尼克号数据集中票价值和生存机会之间的相关性
泰坦尼克号票价栏有很多不同的值,从1到500不等,其中一些值经常重复
以下是一个值_计数示例:
titanic.fare.value_counts()
8.0500 43
13.0000 42
7.8958 38
7.7500 34
26.0000 31
10.5000 24
7.9250 18
7.7750 16
我想将PySpark数据帧(PySpark.sql.DataFrame)转换为Pandas数据帧。有一种内置方法toPandas(),效率非常低(请阅读Wes McKinney在2017年芬鲁里发表的关于这一问题的文章,以及他的计算)
与此同时,已经做出了一些努力,以加快这种转换。例如,Josh的函数。但是,这对我没有帮助,因为我希望将+1M行从pysaprk.DataFrame传输到Pandas,此解决方案对我不起作用
幸运的是,如2017年7月26日所示,多亏了作者和,toPandas()的
这是一个带有datetime64[ns]列的熊猫数据帧
In [69]: dataframe_with_datetime
some_other_column ts
0 0 2017-09-22 23:29:11
In [70]: dataframe_with_datetime.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1 entries,
我在做二进制分类器。因为我的数据是不平衡的,所以我使用了类权重。我在传递值以解决此问题时出错
Error:ValueError:class_权重必须是dict,'balanced',或None,got:[{0:0.4,1:0.6}]“
代码
rf=RandomForestClassifier(n_estimators=1000,oob_score=True,min_samples_leaf=500,class_weight=[{0:.4, 1:.6}])
fit_rf=rf.fit(X_
除了使用循环强制执行之外,给定数据帧df:
A B C
0 True 1 23.0
1 False 2 25.0
2 ... ... ....
[{'A': True, 'B':2, 'C':23}, {'A': True, 'B':1, 'C':24}...]
以及目录的列表lod:
A B C
0 True 1 23.0
1 False 2 25.0
2 ...
标签: Pandas
sparse-matrixlinear-algebrasvd
我有一组等式,变量用小写变量表示,常量用大写变量表示
A = a + b
B = c + d
C = a + b + c + d + e
我在一个包含两列的数据框架中获得了关于这些方程结构的信息:常量和变量
例如
然后使用NetworkX将其转换为稀疏CSC矩阵
table = nx.bipartite.biadjacency_matrix(nx.from_pandas_dataframe(df,'Constants','Variables')
,df.Constants.un
我使用下面的命令在我的Jupyter笔记本中安装了Dask
!pip install “dask[complete]”
之后,当我运行import命令时
我得到下面的错误
ImportError Traceback (most recent call last)
<ipython-input-13-99db13701da1> in <module>()
2 import pandas as pd
3
我正在尝试清理pandas数据集,但是我无法找到一种方法来删除在值末尾附加了#,*,x的奇怪值。我想用np.nan替换所有这些值
我在下面附加了一个链接,介绍了我的数据集的外观
选项1:您想用清理过的值替换垃圾
replace_dict = {
'#': '',
'*': ''
}
for key in replace_dict.keys():
df = df.applymap(lambda x: x.replace(key, replace_d
标签: Pandas
hdfsparquetimpalapyarrow
我有一个由分区拼花文件组成的大型黑斑羚数据库。
我直接使用HDFS将一个拼花地板分区复制到本地磁盘。这个分区总共有15GB,由许多文件组成,每个文件有10MB。我试图直接使用Pandas和Pyarrow引擎或Pyarrow来读取它,但是它在内存中的大小使用了超过60GB的RAM,并且在使用所有内存之前它不会读取整个数据集。内存使用量如此之大的原因是什么?磁盘和内存中拼花文件的大小可能会有很大的变化。拼花地板使用高效的编码和压缩技术来存储柱。当您将此数据加载到RAM中时,数据将解压缩为未压缩的形式
有以下格式的数据帧(df):
Name, Col-1, Col-2, Col-3, Col-4
abc, 0, 1, 0, 0
cba, 1, 0, 0, 0
bns 1, 0, 0, 0
abd 0 0, 0, 1
现在,我尝试向该数据框添加新列,如下所示:
Name, Col-1, Col-2, Col-3, Col-4,
我有一个数据框,列名如下:
id ColNameOrig_x ColNameOrig_y
有许多这样的列,“x”和“y”之所以出现,是因为合并了两个具有相似列名的数据集。
我需要做的是:
df.ColName = df.ColNameOrig_x + df.ColNameOrig_y
我现在对许多列(接近50个)手动重复这一行,有没有通配符的方法呢?您可以使用订阅语法动态访问列名:
col_groups = ['ColName1', 'ColName2']
for grp in col_gr
如何使用df['column'].str.extract()为np.select()中的选项生成条件列
如果我尝试使用代码,我会
KeyError: 'new'
但是如果我添加列,比如
df['new'] = 'a'
然后全部使用,我得到了所有有选择但没有条件的列:
column1 column2 new
0 --extract_text-- A extract_text
1 --extract_text-- A
假设我有一个索引:
i = pd.Index(['apple', 'banana', 'orange'])
print(i)
Index(['apple', 'banana', 'orange'], dtype='object')
现在,我执行一些groupby函数,值的结果是,p:
p = pd.Series({'apple' : 1})
print(p)
apple 1
dtype: int64
如何合并此p系列,然后fillna(0)与索引I以获得:
apple 1
我有两个数据帧df1和df2。没有任何唯一的值,并且两个值中的行数不同。
df1:
df2:
我想将df1的时区值复制到df2的时区中,其中两列的code_IATA值都匹配。
我尝试了映射、包含并尝试使用for循环进行解析,但无法执行
df2['Time_Zone '] = df2['code_IATA'].map(df1.set_index('code_IATA')['Time_Zone'])
我无法删除重复的值,因为所有值对我都很重要,而且df1比df2包含更多的行。两个数据帧中的行数不相
我有一个以日期为索引的熊猫数据框。例如:
B group
index
2018-08-19 True
2018-08-20 True
2018-09-15 False
2018-09-15 False
2019-04-28 True
2019-06-01 False
2019-06-08 True
我只想选择每个可用月份的第一个元素。例如,在本DF中,我想选择这些:
完全外部联接,并将联接键保留在所有列中
我有三个维度为m x 1的数据帧,每个数据帧具有不同的m:
df1 = pd.DataFrame({'x':['A1', 'A2', 'A3', 'A4']})
df2 = pd.DataFrame({'y':['A1', 'A3', 'A5', 'A4']})
df3 = pd.DataFrame({'z':['A1','A2', 'A5', 'A6']})
我想要一个数据帧df\u merged如下:
x y z
0 A1
我正试图从employee dataframe中的dataframe列中找到精确的字符串匹配
Employee days_present
Alex 1,2,11,23,
John 21,23,25,28
需要根据days_present(当前天数)列查找2号有哪些员工
预期产出:
亚历克斯
下面是我尝试过的
df = spark.sql("select * from employee where days_present RLIKE '2')
df.sho
我有一个带有两个熊猫系列的数据框,如下所示:
value accepted_values
0 1 [1, 2, 3, 4]
1 2 [5, 6, 7, 8]
我想使用pandas方法有效地检查该值是否在可接受的_值中
我已经知道我可以做如下的事情,但是如果有一种更快的方法,我对它感兴趣(在一百万行数据帧上花费了大约27秒)
我认为,如果使用列表列创建DataFrame,您可以通过以下方式进行比较,并测试每行是否至少匹配一个值:
另一个想法是:
are_
我有以下系列,我想用xaxis=releaseyear、yaxis=revenuemean和index=genres将其绘制在一个折线图上
dfgroupbygenres
release_year genres
1960 Action 5.981781e+07
Adventure 7.232881e+06
Comedy 4.432
我有这个数据框:
id priority quantity
0 A 1 2
1 A 2 4
2 A 3 4
3 A 4 2
4 B 1 5
5 B 2 7
6 B 3 2
7 B 4 3
我想变成这个:
id priority quantit
我想测试以下代码
ID Open Close SMA EMA
30 UNITY 11.50 11.53 12.576 12.715570
31 UNITY 11.44 11.34 12.399 12.626823
32 UNITY 11.26 11.74 12.273 12.569609
33 UNITY 11.72 11.61 12.150 12.507699
34 UNITY 11.51 11.43 11
考虑以下数据
我在数据上有一些缺失值
P1-S1上的3个数据点
P1-S3上的3个数据点
P2-S4上的3个数据点
是否有GroupBy方法可以填充数据,使其对称?从对称的意义上讲,它是按['Project','Stage']分组的,因此没有该类别的数据通过使用预定义/计算的值(在本例中,值为0)填充来扩展。为了更清楚,请参见底部的所需输出
我浏览了文件,但在文件的海洋中迷失了方向。如果您能给我一些建议或指导,我将不胜感激!谢谢
import pandas as pd
from io imp
为什么isin在数据帧中找不到“a”,但可以在列表中找到
PS:使用熊猫1.0.5
在[4]中:pd.版本
[4]:“1.0.5”文档非常清楚地描述了这种行为,强调了我自己的行为
如果值是数据帧,则索引和列标签必须匹配
因此,请并排查看两个数据帧:
In [1]: import pandas as pd
...: a=pd.DataFrame([1,2,'a'])
In [2]: a.isin([1,'a'])
Out[2]:
0
0 True
1 False
2
在Jupyter中使用pandas数据帧时,在“$”字符之间放置字符串时,数据帧单元格将呈现为latex样式。然而,在谷歌Colab中,这并没有做到。有什么办法吗
这是Jupyter:
这在Google Colab中:
这是df.columns列表:
[“$t\u n$”、“$f(x{i+1})$”、“$EV$”、“$\%\EV$”、“$EA$”、“$\%\EA$”]
我有一个熊猫数据框,在它的第一列中,值每5行重复一次,如下所示:
ITEM VALUE
===== ======
item1 value1
item2 value2
item3 value3
item4 value4
item5 value5
item1 value6
item2 value7
item3 value8
item4 value9
item5 value10
我需要制作一个数据帧,如下所示,其中包含第1列中的唯一值,以将其用作标题
注:
如果其他人对这个话题感到疑惑,我知道你正在深入数据分析领域,所以我之前问过这个问题,以了解:
只有在处理有序类(例如大学学位、客户满意度调查)时,才将分类值编码为整数。
否则,如果您正在处理诸如性别、颜色或名称之类的标称类,则必须使用其他方法转换它们,因为它们不指定任何数字顺序,最常见的是一个热编码或伪变量。
我鼓励你多读一些关于他们的文章,希望这是有用的
请查看下面的链接以查看详细的说明:
这可能是一个简单的问题,但我认为它对初学者很有用
我需要在测试数据集上运行预测模型,因此要将分类
如果已经有人问过这个问题,请道歉。我原以为会的,但我一直找不到答案。我想将dataframe中的列转换为datetime格式
import pandas as pd
df['DateOfBirth'] = pd.to_datetime(df['DateOfBirth'], format='%Y-%m-%d')
显然,有些行包含其他字符
ValueError: time data 0000-00-00 doesn't match format specified
现在df相当大,因此无法目视
我在熊猫中有以下df数据:
import pandas
data = pd.DataFrame({'Country Name': ['Indonesia', 'France'],
'Indicator': ['Literacy', 'Literacy'],
'2014': ['88.0', '98.0'],
'2015': ['89.0'
我有两个数据帧:
df1:
df2:
df1具有子字符串列表,其完整字符串出现在df2中。我需要获得df1中对应子字符串的完整字符串(使用逗号分隔的值)。因此,我的预期输出应该是:
cellname sub_str_list fulllist
1 ['ap'] ['retap','hk_get']
1 ['cp','bp'] ['rec_d','rec_cp','bp_get','d
我尝试检查数据帧值是否在另一个数据帧的两列中的值之间
第一个数据帧:
df1 = pd.DataFrame({
'num': [111, 222, 333],
'desc': ['some_desc', 'some_desc', 'some_desc'],
})
num desc
0 111 some_desc
1 222 some_desc
2 333 some_desc
第二个数据帧由以下范围组成:
df2 = pd.D
如何使用另一个数据帧中的值更新数据帧一列中的某些值:
# Main dataframe
df1 = pd.DataFrame({'a':[1,2,3,4,5], 'b':['a2', 'a1', '?', '?', 'b2'], 'c':[100,101, 102, 103, 104]})
# Dataframe with new values for column 'b'
df2 = pd.DataFrame({'a':[3,4], 'b':['b5', 'c5']})
# Result:
在几乎所有的熊猫版本中,文档/发行说明中都有“部分”,其中所有项目都以“固定回归…”开头,例如
修复了read_excel()中导致其在检查旧xlrd版本(GH38955)时引发AttributeError的回归
在这种情况下,“回归”一词是什么意思?
为什么固定回归不包括在(下一部分)“错误修复”中?我认为它们是一种特殊的错误修复
例如,如果在版本X中引入了一个新功能,它(无意中)在版本Y中中断,而版本Z修复了它,这就是“修复回归”。我认为它们是一种特殊的bug修复
例如,如果在版本X中引入了
我有下面的数据框,其中有基于列“原因”的重复行
我已根据
df_duplicates = df[df['No'].duplicated() == True]
我试图在上面的行子集上循环,并且仅当对应的重复行的“原因”都丢失或者任何一个丢失时才对它们进行过滤
因此,结果将是
No Reason
123 -
123 -
345 Bad Service
345 -
我试着在它上面循环,然后每对做一次。不确定是否有一种有效的方法在大熊猫身上做到这一点。任何线索将不胜感激
仅当相应重复
我有df中的数据帧列表
dataframe 1:
ID Name Coupon Description Coupon_Type
100 FXC 2.5 Foo Foo Fixed
100 FXC 1.5 Foo Foo Floating
200 MNY 1.0 Man Man Fixed
300 ABC 2.5 Arm T Fixed
300 ABC 3.0 Arm M Fixed
300 ABC
熊猫版本:'1.2.3',python版本:3.7.9
代码:
x=pd.DataFrame({'a':[1,2],'b':[2,3]})
x['a']>1&x['b']如果检查链接答案差异缺少括号,因为运算符的优先级,所以添加它们:
mask = (x['a']>1) & (x['b'] <= 2)
df = x[mask]
mask=(x['a']>1)和(x['b']如果检查链接答案差异缺少括号,因为运算符的优先级,所以添加它们:
mask = (x['a']>
标签: Pandas
time-seriessklearn-pandasscikits
我在Pandas中有一些时间序列数据,我需要从列中提取特定的局部极小值,以便在LSTM模型中使用它们作为特征。为了可视化我要查找的内容,我附加了一个,其中圆圈点是我希望定位的值
您在图底部看到的其他红点是我尝试将“argrelextrema”与以下代码一起使用失败:
#Trying to Locate Minimum Values
df['HKL Min'] = df.iloc[argrelextrema(df.hkla.values, np.less_equal,order=50)[0]]['
我需要根据一些条件读入一堆I/p数据帧,然后合并它们,最后创建数据帧,如“merge_m0”、“merge_m1”、“merge_m2”等等
在实际代码中,我需要阅读大约20个数据帧。但是,为了简单易懂,我创建了3个数据帧,并使用for循环来读取和合并它们
#输入:示例输入数据帧df0、df1和df2
df0=pd.DataFrame({'id':[100,101,102,103],'m0_val_mthd':[1,8,25,41],'name':['AAA','BBB','CCC','DDD'
就复杂性而言,这是相同的,但这里有另一种方法。因此,可以有多种方法,但你正在应用的方法也是更好的
不是主题,但子主题周围不应该有()吗?(df['col1']-df['col2'])/df['col1']*100很好
df_new = [df[df.columns.difference(['GoogleAnalytics_PVS', 'AdobeAnalytics_PVS'])]/df['GoogleAnalytics_PVS'] ]*100
df_new
当我试图创建一个数据框来比较分类模型的实际(测试数据)和预测值时,我得到了一个错误。您可以在代码下面看到错误消息。代码的实现如下所示:
df = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})
df
ValueError Traceback (most recent call last)
<ipython-input-2
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 280 页