将 R 转换为 Python 管道 - 筛选、选择和排序



我正在清理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((

最新更新