我正在清理R中的数据集,并试图在Python中找到等效的以下清理过程。
df = dataframe %>%
filter(grepl('abc', Sheet1)) %>%
select(product) %>%
arrange(nchar(product))
我知道为了在 Pandas 中进行过滤,我可以做类似 df[df['var'] != 'string'] 的事情,但如果我想包含特定的字符串值并在排序前选择相关列,我该怎么做?
任何见解将不胜感激!
使用:
df = pd.DataFrame({'Sheet1':['abc f','as abc','ss','abc','abcd'],
'product':['aa','sss','aaa','s','ddddd'],
'val':[7,8,9,4,2]})
print (df)
Sheet1 product val
0 abc f aa 7
1 as abc sss 8
2 ss aaa 9
3 abc s 4
4 abcd ddddd 2
df = df[df['Sheet1'].str.contains('abc')]
print (df)
Sheet1 product val
0 abc f aa 7
1 as abc sss 8
2 ss aaa 9
3 abc s 4
4 abcd ddddd 2
df = df.iloc[df['product'].str.len().argsort()]
print (df)
Sheet1 product val
3 abc s 4
0 abc f aa 7
1 as abc sss 8
4 abcd ddddd 2
df = df[['product','val']]
print (df)
product val
3 s 4
0 aa 7
1 sss 8
4 ddddd 2
如果您可以发布数据,它会有所帮助,但大致如下:
> df %>% filter(grepl('abc', Sheet1)) %>%
DF.Sheet1.str.contains('abc'(
> select(product) %>%
。只是通过["产品"]下标...
> arrange(nchar(product))
df.sort_index(level=df.product.apply(len((