小编bis*_*smo的帖子

如何根据列名删除列 python pandas

我想删除数据框中以“y”结尾的每一列。由于某种原因,我拥有的数据的每列列出了两次,唯一不同的是列名称,如下所示:

d = {'Team': ['1', '2', '3'], 'Team_y': ['1', '2', '3'], 'Color' : ['red', 'green', 'blue'], 'Color_y' : ['red', 'green', 'blue']}
df = pd.DataFrame(data=d)
df

    Team    Team_y  Color   Color_y
0    1        1      red     red
1    2        2     green   green
2    3        3      blue    blue
Run Code Online (Sandbox Code Playgroud)

我知道这是某种字符串格式。我尝试使用 [-1] 对最后一个字母进行索引,但无法完全正常工作。谢谢!

python string string-formatting dataframe pandas

6
推荐指数
2
解决办法
7606
查看次数

如何在 0 和平均值的 y 值之间的 distplot 上绘制平均线?

我有一个 distplot,我想绘制一条从 0 到平均频率的 y 值的平均线。我想这样做,但是当 distplot 执行时让该行停止。为什么没有一个简单的参数来做到这一点?这将非常有用。

我有一些代码可以让我几乎到达那里:

plt.plot([x.mean(),x.mean()], [0, *what here?*])

Run Code Online (Sandbox Code Playgroud)

这段代码按照我想要的方式绘制了一条线,除了我想要的 y 值。使 y 最大值停止在 distplot 中的均值频率处的正确数学方法是什么?下面是我的一个 distplots 的示例,使用 0.6 作为 y-max。如果有一些数学方法可以让它停在均值的 y 值处,那就太棒了。我试过将平均值除以计数等。

在此处输入图片说明

python distribution matplotlib seaborn

5
推荐指数
1
解决办法
4276
查看次数

Pandas pd.read_html() 函数给我“HTTP 错误 403:禁止”

我一直在使用 pandas 来抓取数据表。使用 pd.read_html() 非常简单,但我尝试使用的网址之一不起作用。这是我的代码:

import pandas as pd
import requests

base_site = 'https://stats.ncaa.org/team/376/stats/15061'

r = requests.get(base_site)
r.status_code

tables = pd.read_html(base_site)
Run Code Online (Sandbox Code Playgroud)

我导入了请求来检查状态代码,它输出 200,这很好。

这是 pd.read_html() 的输出:

---------------------------------------------------------------------------
HTTPError                                 Traceback (most recent call last)
<ipython-input-4-398e418f089e> in <module>()
----> 1 tables = pd.read_html(base_site, attrs = {'class' : 'dataTable', 'id' : 'statgrid'})

11 frames
/usr/lib/python3.6/urllib/request.py in http_error_default(self, req, fp, code, msg, hdrs)
    648 class HTTPDefaultErrorHandler(BaseHandler):
    649     def http_error_default(self, req, fp, code, msg, hdrs):
--> 650         raise HTTPError(req.full_url, code, msg, hdrs, fp)
    651 
    652 …
Run Code Online (Sandbox Code Playgroud)

html python web-scraping pandas

4
推荐指数
1
解决办法
5210
查看次数

如何将一列列表转换为一列字符串python

我正在从 API 访问数据,它返回一列数据,其中包含一个或两个项目列表,如下所示:

编辑:这是一个熊猫系列。

['WR'],
 ['RB'],
 ['QB'],
 ['QB'],
 ['TE'],
 ['TE'],
 ['TE'],
 ['WR', 'RB'],
 ['QB'],
 ['WR'],
 ['WR'],
 ['WR'],
 ['TE'],
 ['TE'],
 ['TE'],
 ['WR'],
 ['WR'],
 ['WR'],
 ['WR'],
 ['RB'],
 ['RB'],
 ['WR', 'RB'],
 ['WR']
...
Run Code Online (Sandbox Code Playgroud)

等等。我想要做的是简单地将每个列表转换为字符串,如下所示:

'WR',
 'RB',
 'QB',
 'QB',
 'TE',
 'TE',
 'TE',
 'WR, RB',
...

Run Code Online (Sandbox Code Playgroud)

等等。我试过.explode()但这不是我想要的,因为我不希望包含两个项目的列表为第二个项目创建一个新行。我也尝试简单地使用索引它,[1:-1]但显然这不起作用,因为括号不是字符串中的字符。我很感激任何帮助。谢谢!

python string pandas

3
推荐指数
2
解决办法
62
查看次数

python seaborn barplot 条形图不居中?

我以前从未见过这个,但我正在制作的seaborn barplot 不会均匀地间隔条形......

代码

fig, ax = plt.subplots(figsize=(25,6))

sns.barplot(x=value.index, y="CustomerValue", data=value, 
            order=value.index, hue='Response')

plt.xticks(fontsize=10, rotation=90)
Run Code Online (Sandbox Code Playgroud)

数据

    Response    OrderCount  OrderAvgSize    AvgDeliverCost  AvgOrderValue   CustomerValue
CustomerID                      
508 Walmart+    48  22  4.94    14.60   700.80
2007    Both Or None    51  21  4.91    13.46   686.46
698 Walmart+    47  21  4.91    14.02   658.94
1664    Walmart+    45  22  4.94    14.60   657.00
475 Walmart+    45  22  4.94    14.60   657.00
575 Both Or None    51  20  4.87    12.88   656.88
1675    Both Or None    50  20  4.87    12.88   644.00
678 Both …
Run Code Online (Sandbox Code Playgroud)

python matplotlib seaborn

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

如何递增计算熊猫数据框中的每个不同值

假设我有以下 df

  val
0  x
1  x
2  z
3  y
4  x
5  y
6  y
7  z
8  x
9  z
Run Code Online (Sandbox Code Playgroud)

我想创建一个新列,以增量方式跟踪每个值的计数,就像这样

  val  new
0  x   x1
1  x   x2
2  z   z1
3  y   y1
4  x   x3
5  y   y2
6  y   y3
7  z   z2
8  x   x4
9  z   z3
Run Code Online (Sandbox Code Playgroud)

我尝试使用count(),但这只是计算总数而不是增量。value_counts()做同样的事情,但只是按值分割,而不是增量。有没有简单的方法来实现这一目标?谢谢!

python pandas

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