草庐IT

pandas-explode

全部标签

python - 使用 pandas 数据帧中的前向和后向填充填充缺失值(ffill 和 bfill)

Pandas数据框初学者。我在下面设置了此数据集,其中A列和B列(Test.csv)缺少值:DateTimeAB01-01-201703:2701-01-201703:2801-01-201703:290.18127718-0.17883573701-01-201703:300.186923018-0.18326085301-01-201703:3101-01-201703:3201-01-201703:330.18127718-0.178835737我可以使用此代码通过前向传播来填充值,但这只会填充03:31和03:32,而不是03:27和03:28。importpandasaspd

python - 根据 bool 向量组合 2 个 pandas 数据帧

我的问题如下:假设我有两个数据框,它们在Pandas中的列数相同,例如:A=123489和B=7840还有一个bool向量,其长度恰好是A行数+B行数=5,1的数量与B中的行数相同,这意味着两个本例中为1。假设Bool=01010。然后我的目标是将A和B合并到一个更大的名为C的数据帧中,这样B的行对应于Bool中的1,所以在这个例子中它会给我:C=1278344089请问你知道怎么做吗?如果你知道这将如何帮助我。感谢您的阅读。 最佳答案 这是一个pandas-only解决方案,它重新索引原始数据帧,然后将它们连接起来:Bool=pd

python - 在 pandas DataFrame 中快速应用字符串操作

假设我有一个DataFrame,它有10万行和一列name。我想尽可能有效地将这个名字分成名字和姓氏。我目前的方法是,defsplitName(name):returnpandas.Series(name.split()[0:2])df[['first','last']]=df.apply(lambdax:splitName(x['name']),axis=1)不幸的是,DataFrame.apply真的非常慢。我能做些什么来使这个字符串操作几乎和numpy操作一样快吗?谢谢! 最佳答案 尝试(需要pandas>=0.8.1):sp

python - 转换 hh :mm:ss to minutes using python pandas

我有一个数据框列,data['timetaken'];02:08:0002:05:0002:55:0003:42:0001:12:0001:46:0003:22:0003:36:00如何获得如下分钟形式的输出?12812517522272106202216 最佳答案 假设这是一个字符串列,您可以使用str.split方法:In[11]:df['timetaken'].str.split(':')Out[11]:0[02,08,00]1[02,05,00]2[02,55,00]3[03,42,00]4[01,12,00]5[01,46

python - Pandas 数据框的线性回归

我在pandas中有一个数据框,我正在使用它来生成散点图,并且想为该图包含一条回归线。现在我正在尝试使用polyfit来做到这一点。这是我的代码:importpandasaspdimportmatplotlibimportmatplotlib.pyplotaspltfromnumpyimport*table1=pd.DataFrame.from_csv('upregulated_genes.txt',sep='\t',header=0,index_col=0)table2=pd.DataFrame.from_csv('misson_genes.txt',sep='\t',header=

python - 在 Pandas 数据框中按列计算数字的出现次数

我有一个pandas数据框,我想计算一个数字在每一列中出现的频率abcde023154113254213254324153424153这是我的代码,但不起作用defequalsOne(x):x[x.columns==1].sum()df1.apply(equalOne(),axis=1)这是期望的输出a2b0c3d0e0 最佳答案 你可以这样做:(df==1).sum()df==1给出:abcde0FalseFalseTrueFalseFalse1TrueFalseFalseFalseFalse2TrueFalseFalseFals

Python/Pandas - 将类型从 pandas period 转换为 string

我有一个数据框:SeasonalDate2014-12-1.0897442015-01-0.2836542015-020.1589742015-030.461538我在DataFrame中使用了pd.to_period,所以它的索引变成了Pandasperiod类型(type'pandas._period.Period')。现在,我想将该索引转换为字符串。我正在尝试应用以下内容:df.index=df.index.astype(str)但是这不起作用...ValueError:CannotcastPeriodIndextodtype|S0我的代码从那时起就被卡住了。紧急求救

python - Pandas 数据帧的分位数归一化

简单来说,如何在Python中对大型Pandas数据帧(可能有2,000,000行)应用分位数归一化?附言。我知道有一个名为rpy2的包可以在子进程中运行R,在R中使用分位数归一化。但事实是,当我使用如下数据集时,R无法计算出正确的结果:5.690386092696389541e-05,2.051450375415418849e-05,1.963190184049079707e-05,1.258362869906251862e-04,1.503352476021528139e-04,6.881341586355676286e-068.535579139044583634e-05,5.1

python - 防止 pandas read_csv 将第一行视为列名的标题

我正在使用pd.read_csv读取pandasDataFrame。我想将第一行保留为数据,但它不断转换为列名。我试过header=False但这完全删除了它。(注意我的输入数据:我有一个字符串(st='\n'.join(lst)),我将其转换为类似文件的对象(io.StringIO(st)),然后从该文件对象构建csv。) 最佳答案 您希望header=None将False类型提升为int为0参见docs强调我的:header:intorlistofints,default‘infer’Rownumber(s)touseasthe

python - 如何获取 pandas.Series 或 pandas.DataFrame 中第 i 个项目的索引?

我正在尝试获取我拥有的Series中第6项的索引。这是头部的样子:UnitedStates1.536434e+13China6.348609e+12Japan5.542208e+12Germany3.493025e+12France2.681725e+12为了获取第6个索引名称(排序后的第6个国家/地区),我通常使用s.head(6)并从那里获取第6个索引。s.head(6)给我:UnitedStates1.536434e+13China6.348609e+12Japan5.542208e+12Germany3.493025e+12France2.681725e+12UnitedKin