如果另一列C的文本为“ ABC”,则如何过滤B列中的行值?在这种情况下,“ google.com”将被过滤掉。
A B C D
0 True facebook.com kxy 19999
1 True google.com ABC 21212
2 False yahoo.com PoP 3213231
每次在列C中有“ ABC”时,列B中的行值都应附加在列表中。
伪代码:
dataset = pd.read_csv('xyz.csv')
path = []
for value in dataset.C:
if dataset['C'] == 'abc':
#append path with row value of Col B
else:
#not append path
答案 0 :(得分:4)
path = dataset.loc[dataset.C == 'ABC', 'B'].tolist()
将一口气为您提供所需的列表。
答案 1 :(得分:1)
您也可以使用where
和list
:
path = list(data.B.where(data.C == 'ABC').dropna())
print(path)
# ['google.com']
答案 2 :(得分:0)
inds
将是一个具有布尔值的熊猫系列,表示“ C”列中的行值是否等于“ ABC”。
一旦我们知道了,我们就可以对dataset
进行子集化,并获取列'B'的值:
inds = dataset['C'] == 'ABC'
list(dataset.loc[inds, 'B'])
答案 3 :(得分:0)
直接答覆:
#My ungrouped ggplot is:
t<-t(data.frame(dtt2[,2], dtt2[,7], dtt2[,9], dtt2[,11]))
t<-data.frame(t)
rownames(t)[2]<-"Densidade Relativa"
rownames(t)[3]<-"Dominancia Relativa"
rownames(t)[4]<-"Frequencia Relativa"
specie <- t(data.frame(rep(t[1,], each=3)))
value<-data.frame(b=unlist(t[2:4,],use.names=F))
condition <- data.frame(rep(rownames(t[2:4,]),ncol(t)))
data <- data.frame(specie,condition,value)
data$b<-as.character(data$b)
data$b<-as.numeric(data$b)
colnames(data)[1]<-"Especies"
colnames(data)[2]<-"Parametros"
margins = unit(c(1, 1, 3, 1), 'lines')
gg<-ggplot(data, aes(reorder(Especies,b), b, fill = Parametros)) +
geom_col(alpha = 0.8) +
scale_fill_brewer(palette = "Dark2") +
theme_bw(16) +
coord_flip() +
xlab("Especies") + ylab("Indice de Valor de Importancia (%)") +
labs(fill = "Parametros") +
theme(axis.text.y = element_text(face = "italic",size=10), legend.title=element_blank(),legend.justification = "left" ,legend.text=element_text(size=10),
axis.text.x= element_text(size=10), axis.title.x=element_text(size=12),
axis.title.y=element_text(size=12),
plot.margin=margins,legend.position=c(-0.5,-0.2),legend.direction = "horizontal")
> dtt2
Estrato Especie n G UA DA..n.ha. DR.... DoA..G.ha.
1 1 Caryocar brasiliense 46 1.996 6 1.704 15.808 0.074
2 1 Qualea parviflora 77 0.329 6 2.852 26.460 0.012
3 1 Stenocalyx dysentericus 54 0.292 6 2.000 18.557 0.011
4 1 Pouteria ramiflora 18 0.173 4 0.667 6.186 0.006
5 1 Sclerolobium paniculatum 10 0.262 4 0.370 3.436 0.010
6 1 Astronium balansae 10 0.178 5 0.370 3.436 0.007
7 1 Andira cujabensis Benth 7 0.025 5 0.259 2.405 0.001
8 1 Annona Cacans 7 0.036 3 0.259 2.405 0.001
9 1 Hymenaea stilbocarpa 7 0.026 3 0.259 2.405 0.001
10 1 Bowdichia virgilioides 4 0.040 3 0.148 1.375 0.001
11 1 Solanum lycocarpum 4 0.032 3 0.148 1.375 0.001
12 1 Erioteca pubescens 4 0.014 3 0.148 1.375 0.001
13 1 Pterodon emarginatus 2 0.087 2 0.074 0.687 0.003
14 2 Magonia pubescens 3 0.010 3 0.111 1.031 0.000
15 2 Dimorphandra molles 3 0.041 2 0.111 1.031 0.002
16 2 Byrsonima crassifólia 4 0.015 2 0.148 1.375 0.001
17 2 Spondias tuberosa 2 0.041 2 0.074 0.687 0.002
18 2 Maprounea guianensis 3 0.027 2 0.111 1.031 0.001
19 2 Dipteryx alata 3 0.070 1 0.111 1.031 0.003
20 2 Lafoensia pacari 2 0.011 2 0.074 0.687 0.000
21 2 Machaerium opacum 4 0.022 1 0.148 1.375 0.001
22 2 Simarouba versicolor 3 0.024 1 0.111 1.031 0.001
23 2 Palicourea rigida 2 0.020 1 0.074 0.687 0.001
24 2 Curatella americana 2 0.007 1 0.074 0.687 0.000
25 2 Plathymenia foliolosa 1 0.014 1 0.037 0.344 0.001
26 2 Andira inermis 1 0.011 1 0.037 0.344 0.000
27 2 Alibertia edulis 1 0.008 1 0.037 0.344 0.000
28 2 Terminalia brasiliensis 1 0.007 1 0.037 0.344 0.000
29 2 Protium spruceanum 1 0.007 1 0.037 0.344 0.000
30 2 Cecropia pachystachya 1 0.006 1 0.037 0.344 0.000
31 2 Vatairea macrocarpa 1 0.006 1 0.037 0.344 0.000
32 2 Vochysia elliptica 1 0.005 1 0.037 0.344 0.000
33 2 Qualea Grandiflora 1 0.003 1 0.037 0.344 0.000
34 2 Vernonia polysphaera 1 0.003 1 0.037 0.344 0.000
DoR.... FA.... FR.... IVI....
1 51.857 100.000 7.407 75.072
2 8.561 100.000 7.407 42.428
3 7.599 100.000 7.407 33.563
4 4.503 66.667 4.938 15.627
5 6.804 66.667 4.938 15.178
6 4.624 83.333 6.173 14.233
7 0.661 83.333 6.173 9.239
8 0.932 50.000 3.704 7.041
9 0.678 50.000 3.704 6.787
10 1.046 50.000 3.704 6.125
11 0.827 50.000 3.704 5.906
12 0.364 50.000 3.704 5.442
13 2.273 33.333 2.469 5.430
14 0.263 50.000 3.704 4.998
15 1.055 33.333 2.469 4.555
16 0.392 33.333 2.469 4.235
17 1.067 33.333 2.469 4.223
18 0.706 33.333 2.469 4.206
19 1.811 16.667 1.235 4.076
20 0.290 33.333 2.469 3.446
21 0.565 16.667 1.235 3.174
22 0.611 16.667 1.235 2.876
23 0.507 16.667 1.235 2.429
24 0.179 16.667 1.235 2.101
25 0.365 16.667 1.235 1.943
26 0.283 16.667 1.235 1.861
27 0.199 16.667 1.235 1.777
28 0.186 16.667 1.235 1.764
29 0.174 16.667 1.235 1.752
30 0.162 16.667 1.235 1.740
31 0.151 16.667 1.235 1.729
32 0.140 16.667 1.235 1.718
33 0.083 16.667 1.235 1.661
34 0.083 16.667 1.235 1.661
出于理解目的:
首先获取C =“ ABC”所在的行
filtered_values = dataset.loc[dataset["C"]=='ABC']['B'].tolist()
输出:
filtered_rows = dataset.loc[dataset["C"]=='ABC']
filtered_rows
从这些行中仅获得B列的值,然后使用 A B C D
1 True google.com ABC 21212
函数将此系列转换为列表
.tolist()
输出:
filtered_values = filtered_rows["B"].tolist()
filtered_values