我需要从位置索引中索引数据,但是在以前的操作中我得到了NA值,我想保存它。我怎样才能做到这一点?
df1
NaN
1
NaN
NaN
NaN
6
df2
0 10
1 15
2 13
3 15
4 16
5 17
6 17
7 18
8 10
df3
0 15
1 17
我想要的输出
NaN
15
NaN
NaN
NaN
17
df2.iloc(df1)
IndexError: indices are out-of-bounds
.iloc方法在这种情况下驱动到一个未绑定错误,我认为.iloc在这里不可用。df3是.loc生成的另一个输出,但我不知道如何在它们之间添加NaN。如果您可以使用
我有一个问题,我不知道该如何描述,这样你才能理解。我将举一个例子。假设我们在python中有这个数组(B):
[[ 1 1]
[ 7 11]
[1 20]
[20 1]
[26 11]
[31 11]]
第一列表示用户。第二个是标签。现在,我想创建一个矩阵,这个矩阵的边是“1”,否则就是“0”。我们分别有5个和4个不同的用户和标签,这是一个6*5矩阵。如果我写道:
zero = np.zeros((6,5,).astype(int) #it needs one more row and column
for line in B:
if line[2]:
zero[line
当迭代列元素(在我的例子中是Y、Y、nan、Y)时,由于某些原因,我不能在满足条件时添加一个新元素(如果遇到两次Y,Y),我想将最后一个Y替换为:“遇到”,或者只是简单地添加它或重写它,因为我跟踪了索引号。
我有一份数据
col0 col1
1 A Y
2 B Y
3 B nan
4 C Y
代码:
count = 0
for i,e in enumerate(df[col1]):
if 'Y' in e:
count += 1
我有以下形式的数据: list_of_numbers = [[8, 10], [10, 8, 1, 0], [6], [4, 0, 1, 2, 3], [12]] 我尝试提取这个列表的第一个和第二个元素,如下所示: [n[0] for n in list_of_numbers] 然而,当我尝试以同样的方式提取第二个元素时(IndexError: list index out of range),这对第一个元素很有效。我意识到这是因为列表中的一些列表没有第二个元素。然而,当第二个元素存在时,我需要提取它,当它不存在时,我需要使用NaN/missing,我该如何在代码中实现它? 谢谢!
据我所知,我在一个列表中有以下字典: {‘周’:3,‘计时’:'07:30'},{‘周’:4,‘计时’:'20:30'},{},.... 我想提取时间和星期,并有他们在单独的列表。但是,因为外面有一个列表,所以没有识别的键。我尝试做的事情如下: for item in list:
new_list =list( item.values() )[0] 但它显示了一个错误,因为我认为其中一些是空白的。目前,我收到错误: IndexError: list index out of range。我如何将它们提取到两个单独的列表中,并在它们为空的情况下拥有一个
我正在尝试迭代一段代码,以便基本上用模式创建find()函数。我希望检查string索引+1是否返回一个IndexError (如果超出范围,则返回斜杠),以便知道是继续迭代字符串还是返回第一次出现的索引。我尝试了几种不同的方法,因为它在我创建的类中,所以我一直得到一个属性错误。以下是我尝试过的几件事:
with self.assertRaises(IndexError):
p[ind + 1]
print(ind - len(p))
if not p[ind + 1]:
我很难用理性的方式思考一些事情,我希望得到一些指导。
我有一个dataframe,其中包含了应该上传某些文件的事件日期的列,还有一个列,列上了这些事件的名称。所以事件可以是X,Y,Z,文件可以是1,2,3。
并不是所有的文件都需要上传到所有的事件,即如果是事件X,那么文件1、2和3需要上传,但是如果是事件Y,那么只需要上传文件3。日期列中有日期,或为空。
我想做的是,对于所有不需要的事件文件,用“不需要”替换为空白。
初始值:
File1 File2 File3
X Aug 1 Sept 1
X Aug 3 Aug 4 Sept 9
Y
当索引位置未知时,使用切片比索引返回超出范围错误的索引更好吗?
from random import randint
__index__ = randint(0, 100)
print(__index__)
key = "Some random string which comes on our way and we don't find the length"
''' Slicing is better when unknown length of a string?'''
x = key[__index__:_
一开始,我使用python 2天,有更多的问题。在他们的下面。
我有一个列表(3297个项目),我想要找到第一个项目的索引,从终点!= 'nan‘
示例:(索引,值)
[0] 378.966
[1] 378.967
[2] 378.966
[3] 378.967
....
....
[3295] 777.436
[3296] nan
[3297] nan
如果要找到索引为- 3295的项目
我的代码(从头到尾,一步一步地)
i = len(lasarr); #3297
while (i >= 0):
if not math.i
我的代码有问题,我只想用csv写结果,我得到了IndexError
seleksi = []
p = FeatureSelection(fiturs, docs)
seleksi[0] = p.select()
with open('test.csv','wb') as selection:
selections = csv.writer(selection)
for x in seleksi:
selections.writerow(selections)
在p.select中是:
['A',1]
['
如果我有一个包含10个元素的列表:
>>> l = [1,2,3,4,5,6,7,8,9,0]
为什么l10将返回IndexError,而l-1返回0?
>>> l[10]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> l[0]
1
>>> l[-1]
0
>>> l[-2]
9
我想要做
我有一个大的dataframe作为输入,如下所示:
index type price
3000 C 300
3000 P 500
3500 C 300
3500 P 400
4500 P 100
我想得到指标值,对于相同的指数,但不同的类型(C和P),价格差异最小。
现在,我执行以下操作,但需要几秒钟:
k_c = np.unique(df.index[(df['type'] == 'C')])
k_p = np.unique(df.index[(df['type'] == 'P'
我想做下面的Matlab代码:
indexes=find(data>0.5);
data2=data(indexes(1):indexes(length(indexes))+1);
在Python中,所以我做到了:
indexes=[x for x in data if x>0.5]
init=indexes[1]
print(indexes)
end=indexes[len(indexes)]+1
data2=data[init:end]
但我发现了一个错误:
End=indexeslen(索引)+1 IndexError:超出范围的列表索引
我认为Python中的索引可
我正在研究如何向df中添加一个列,该列保存第一列的列名,而不是NaN或Null。示例:列"first“基于”A“、”B“、”C“、”D“列
Name A B C D First
Alex 100 Nan Null NaN A
Michael 300 400 Null Null A
Steve Null 100 100 100 B
John Null Null Nan Null Null
我想将空行(用np.NaN填充)附加到熊猫的dataframe中,并且目前只知道如何使用loc进行此操作。
T = pd.DataFrame(index=['a', 'b', 'c'], data={'Col0': 0, 'Col1': 1})
T
Col0 Col1
a 0 1
b 0 1
c 0 1
missing = ['d', 'e']
for m in missing:
T.loc[m] = np.NaN
我有一个很大的数据框架,看起来像这样,
A B C
1.2 11.1 42.1
2.4 12.3 32.4
3.1 32.4 21.7
5.8 42.1
7.3 6.8
8.9 9.21
9.1 10.2
10.1 21.7
我希望找到B列中的C值,并获得其对应的A值,如下所示
A B C D
1.2 11.1 42.1
我有以下命令:
df1['parent'] = df1['x'].map(lambda x: x.split('by')[1])
我得到了:
IndexError: list index out of range
对于列中的一些值,在" by“之后没有任何内容,我如何可以这样做:如果在写完之后没有任何内容"”。
使用df.dropna(thresh = x, inplace=True),我可以成功地删除至少缺少x非nan值的行。
但是因为我的df看起来是:
2001 2002 2003 2004
bob A 123 31 4 12
bob B 41 1 56 13
bob C nan nan 4 nan
bill A 451 8 nan 24
bill B 32 5
我有df,就像:
value
0 yes
1 nan
2 no
3 nan
4 yes
5 no
6 yes
7 nan
8 nan
9 nan
我无法保证第一个非nan值yes将位于第一行。它还不如从以后的指数开始。
我需要检查string (不是 Nan )的第一个出现是否等于最后一个不是nan的字符串,如果是,将其设置为nan。
在这里,索引6等于索引0,意味着我们需要将它设置为nan并得到如下结果:
value
0 yes
1 nan
2 no
3 nan
4 yes
5 no
6 nan #set to nan since equals first non Nan valu
我试图在每一行df‘电子邮件’中得到列表的第一个值,但在现实生活中(这是一个样本df),我不知道列表的长度是多少,所以我只是假设最长的长度是5,然后尝试缩减它,直到我找到合适的长度并选择索引位置,但是我得到了IndexError: index 5 is out of bounds for axis 0 with size 2,我不知道如何处理它。任何帮助都很感激。谢谢。
我现在的代码是:
df = pd.DataFrame({'Emails': [['j@gmail.com', 'jp@gmail.com', 'jc@gmail.com&
我有一份清单如下:
li = [nan, 'Grvl', 'Pave']
另外两个项是字符串,但nan不是变量。这不是一个数字浮动。
type(li[0])
>> <class 'float'>
现在,我希望能够通过以下方式来索引nan:
li.index(float('nan'))
但是有一个错误:
ValueError: nan is not in list
我怎样才能得到南的指数?我正在使用Python3.5。