有一个数据框,我怎么去取代沿着所有行和列的所有特定值。 举个例子,我想用NA来replace所有空的logging(不用input位置): df <- data.frame(list(A=c("", "xyz", "jkl"), B=c(12, "", 100))) AB 1 12 2 xyz 3 jkl 100 预期结果: AB 1 NA 12 2 xyz NA 3 jkl 100
我想在Pandas DataFrame移动一个列,但是我没有find一个方法来从文档中完成,而没有重写整个DF。 有谁知道如何做到这一点? dataframe: ## x1 x2 ##0 206 214 ##1 226 234 ##2 245 253 ##3 265 272 ##4 283 291 期望的输出: ## x1 x2 ##0 206 nan ##1 226 214 ##2 245 234 ##3 265 253 ##4 283 272 ##5 nan 291
我有一个像这样的数字条目的数据框 test <- data.frame(x=c(26,21,20),y=c(34,29,28)) 我怎样才能得到以下vector? > 26,34,21,29,20,28 我能够用下面的方法得到它,但我想应该有一个更优雅的方式 X <- test[1,] for (i in 2:dim(test)[1]){ X <- cbind(X,test[i,]) }
我在Pandas中有数据框,例如: Col1 Col2 A 1 B 2 C 3 现在,如果我想添加一个名为Col3的列,并且该值是基于Col2的。 在公式中,如果Col2> 1,那么Col3是0,否则将是1.所以,在上面的例子中。 输出将是: Col1 Col2 Col3 A 1 1 B 2 0 C 3 0 任何想法如何实现这一目标?
我有一个有两列的pandas数据框。 我需要改变第一列的值而不影响第二列,并且只改变第一列值就可以得到整个dataframe。 我怎样才能在pandas中应用?
我有一个pandas数据框,我想结合“拉”和“长”列形成一个元组。 <class 'pandas.core.frame.DataFrame'> Int64Index: 205482 entries, 0 to 209018 Data columns: Month 205482 non-null values Reported by 205482 non-null values Falls within 205482 non-null values Easting 205482 non-null values Northing 205482 non-null values Location 205482 non-null values Crime type 205482 non-null values long 205482 non-null values lat 205482 non-null values dtypes: float64(4), object(5) 我试图使用的代码是: def […]
我有一个下面的DataFrame : from pandas import * df = DataFrame({'foo':['a','b','c'], 'bar':[1, 2, 3]}) 它看起来像这样: bar foo 0 1 a 1 2 b 2 3 c 现在我想有这样的东西: bar 0 1 is a 1 2 is b 2 3 is c 我怎样才能做到这一点? 我尝试了以下内容: df['foo'] = '%s is %s' % (df['bar'], df['foo']) 但它给了我一个错误的结果: >>>print df.ix[0] bar a foo 0 […]
我想要在数据框上使用apply函数,但是只将函数应用到最后5列。 B<- by(wifi,(wifi$Room),FUN=function(y){apply(y, 2, A)}) 这将A应用于y的所有列 B<- by(wifi,(wifi$Room),FUN=function(y){apply(y[4:9], 2, A)}) 这只适用于A的第4-9列,但B条从前3列的总回报…我仍然希望这些,我只是不希望A适用于他们。 wifi[,1:3]+B 也不会做我想要的/想要的。
没有使用groupby我怎么会过滤掉没有NaN数据? 假设我有一个matrix,客户将填写“不适用”,“不适用”或其任何变体以及其他内容,并保留为空: import pandas as pd import numpy as np df = pd.DataFrame({'movie': ['thg', 'thg', 'mol', 'mol', 'lob', 'lob'], 'rating': [3., 4., 5., np.nan, np.nan, np.nan], 'name': ['John', np.nan, 'N/A', 'Graham', np.nan, np.nan]}) nbs = df['name'].str.extract('^(N/A|NA|na|n/a)') nms=df[(df['name'] != nbs) ] 输出: >>> nms movie name rating 0 thg John 3 1 thg NaN 4 3 […]
我有一个pandas数据框,看起来像这样(它是一个很大的) date exer exp ifor mat 1092 2014-03-17 American M 528.205 2014-04-19 1093 2014-03-17 American M 528.205 2014-04-19 1094 2014-03-17 American M 528.205 2014-04-19 1095 2014-03-17 American M 528.205 2014-04-19 1096 2014-03-17 American M 528.205 2014-05-17 现在我想逐行迭代,当我走过每一行, ifor在每行的值可以改变,取决于一些条件,我需要查找另一个dataframe。 现在,我如何更新这个迭代。 试了几件事,没有一个工作。 for i, row in df.iterrows(): if <something>: row['ifor'] = x else: row['ifor'] = y df.ix[i]['ifor'] […]