我在熊猫里有两个数据帧。DF "A“包含区域名称的起始和结束索引。DF "B“包含子区域的起始索引和结束索引。目标是提取所有区域的所有子区域。
示例:
A:
start index | end index | zone name
-----------------------------------
1 | 10 | X
B:
start index | end index | subzone name
-----------------------------------
2 | 3
如何在pandas数据帧中填充NaN值?我的数据是这样的
id state zone
xxx AP south
xxx AP
xxx AP
xxx AP
xxx delhi north
xxx delhi
xxx delhi
xxx delhi
xxx delhi
基于已知zone只属于state的AP列,如何在south列中填充缺失的值,如何使用pandas来填充值?
我有一个pandas数据帧,它由300万行和50列组成,所有列都包含整数(正数或负数)。我想创建一个名为'feature‘的新列,它从现有的50列中提取最大的负数。
例如,如果对于给定行,50列包含以下值
-25,-24,-23,...,-1,1,...,23,24,25
“feature”列应返回-1。
因为我的数据帧太大了,所以我尝试的解决方案花费的时间太长了。例如,我尝试过使用列表理解,但是因为我求助于iterrows(),所以它太慢了(itertuples()的性能并没有明显的提高):
import numpy as np
import pandas as pd
from tq
我试图遍历数据帧中的每一行,并检查选定的行是否有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数据帧:
age name sex
0 30 jon male
1 blue php null
2 18 jane female
3 orange c++ null
我正在尝试将每隔一行连接到前一行,添加额外的列:
age name sex colour language other
0 30 jon male blue php null
1 18 jane female oran
我正在尝试跨Pandas数据帧的列进行求和,当每列中都有NaN时,我得到的结果是sum =0;根据文档,我预期sum =NaN。下面是我得到的信息:
In [136]: df = pd.DataFrame()
In [137]: df['a'] = [1,2,np.nan,3]
In [138]: df['b'] = [4,5,np.nan,6]
In [139]: df
Out[139]:
a b
0 1 4
1 2 5
2 NaN NaN
3 3 6
In [140]: df['total'] =
我有一个包含两个完全不同的数据集的数据帧。数据集由两行所有NaN值分隔。
我已经提供了以下数据框的示例。
+----+--------------------------------+-------------+-----+-----+-----+-----+-----+-----+------------+-----+--------+-----+
| 13 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | Total Fees | NaN | 653 | NaN |
我正在努力正确地合并pandas中的一些数据集。假设我在不同的时间测量了变量A、B和C。有时,我会同时得到A和B,有时不会。我有三个数据帧,其中数据帧的索引是测量时间,还有一列用于测量。如果我将这些数据帧连接起来,我会得到一堆没有测量的NaNs,可能是这样的
idx | A | B | C
-----|-----|-----|----
0 | 1 | NaN | NaN
0 | NaN | 2 | 3
1 | 5 | 3 | NaN
在连接时,我有非唯一的时间索引。我想要的是按时间排序,并将具有相同时间索引的行折叠在一起。这里的理想结果是
id
我有一个熊猫数据框架,如下所示:
col1 col2 x_1 x_2 x_3 x_4
a b 0.3 0.2 NaN NaN
c d 0.4 0.3 0.2 NaN
e f 0.2 0.1 NaN NaN
v x NaN 0.2 NaN NaN
x r NaN NaN NaN NaN
我想要做的是为每一行找到最右侧的数值,并使用两个新列重新构造数据帧,第一列包含列名,第二列包含最右侧的值,如下所示:
col1 col2 col3 col4
a b x_2 0.2
c d x_3 0.2
e f