小编Dar*_*dav的帖子

PANDAS通过唯一值行将数据帧拆分为多个

我在Pandas中有一个DataFrame

      PRICE   Name     PER   CATEGORY   STORENAME
0      9.99    MF      gram  Indica     Store1
1      9.99    HY      gram  Herb       Store2
2      9.99    FF      gram  Herb       Store2
Run Code Online (Sandbox Code Playgroud)

我想要做的是将它们分成多个数据框以具有唯一的名称,然后分成那些分类.

当前代码:

names = df['STORENAME'].unique().tolist()   #find unique values
store1 = df[df['STORENAME']==names[0]]        
store2 = df[df['STORENAME']==names[1]]
Run Code Online (Sandbox Code Playgroud)

这段代码完美无缺,但我想知道是否有Pythonic方式,因为商店的数量可能会改变.

这需要绘制商店中类别的价格差异.

谢谢!

python dataframe pandas

8
推荐指数
1
解决办法
4101
查看次数

Pandas xlrd 引擎通过仍然值错误

我正在尝试从 url 读取 xls 文件:

使用请求:

page = requests.get(url) # xls url
df = pd.read_excel(page.content,engine = 'xlrd')  #engine is passed



File "f:\python36\lib\site-packages\pandas\util\_decorators.py", line 118, in wrapper
    return func(*args, **kwargs)
  File "f:\python36\lib\site-packages\pandas\io\excel.py", line 230, in read_excel
    io = ExcelFile(io, engine=engine)
  File "f:\python36\lib\site-packages\pandas\io\excel.py", line 296, in __init__
    raise ValueError('Must explicitly set engine if not passing in'
ValueError: Must explicitly set engine if not passing in buffer or path for io.

# if i put in random engine name it throws an unsupported …
Run Code Online (Sandbox Code Playgroud)

python excel xlrd python-3.x pandas

3
推荐指数
1
解决办法
1931
查看次数

条件加入列表

我有一个Python列表:

data = ['Cost', '$', 4244, '$', 4090, '$', 3967]
Run Code Online (Sandbox Code Playgroud)

我想要做的是合并$前面的元素并获得一个新的列表:

data = ['Cost', '$4244', '$4090', '$3967']
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么?

python list string-concatenation

-2
推荐指数
1
解决办法
63
查看次数