小编rpa*_*nai的帖子

使用 Python 的二元词云

我使用python中的Wordcloud包直接从文本文件生成词云。这是我从 stckoverflow 重新使用的代码:

import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS


def random_color_func(word=None, font_size=None, position=None, orientation=None, font_path=None, random_state=None):
    h = int(360.0 * 45.0 / 255.0)
    s = int(100.0 * 255.0 / 255.0)
    l = int(100.0 * float(random_state.randint(60, 120)) / 255.0)

    return "hsl({}, {}%, {}%)".format(h, s, l)

file_content=open ("xyz.txt").read()

wordcloud = WordCloud(font_path = r'C:\Windows\Fonts\Verdana.ttf',
                            stopwords = STOPWORDS,
                            background_color = 'white',
                            width = 1200,
                            height = 1000,
                            color_func = random_color_func
                            ).generate(file_content)

plt.imshow(wordcloud,interpolation="bilinear")
plt.axis('off')
plt.show()
Run Code Online (Sandbox Code Playgroud)

它给了我单个单词的 wordcloud。WordCloud() 函数中是否有任何参数可以在不格式化文本文件的情况下传递 n-gram。

我想要 bigram 的词云。或带有下划线的文字显示。喜欢:machine_learning(机器和学习是两个不同的词)

python word-cloud

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

从具有多列条件的数据框中获取行

展示我想要的内容然后解释它会很容易。考虑以下数据框:

dr = {'mac':[1, 3, 2, 4, 1, 2], 's': ['aa', 'aa', 'c', 'd', 'ee', 'f']}
d = pd.DataFrame(data=dr)
Run Code Online (Sandbox Code Playgroud)

理想的输出是:

    mac     s
0   1      aa 
4   1      ee
Run Code Online (Sandbox Code Playgroud)

我需要找到所有 'mac' 都有 'aa' 和 'ee' 值。在关于它的示例中,对于 mac = 1,它是真的。对于 mac = 3,它是假的,因为有 'aa' 值但没有 'ee'。

python dataframe pandas

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

Pandas - 取消堆叠到顶部列级别

我有以下数据框:

df = pd.DataFrame({'Col1':[10,20,30,40,50], 'Col2':[60,70,80,90,100]}, index=pd.MultiIndex.from_arrays([['A','A','A','B','B'], [1,2,3,4,5]]))
Run Code Online (Sandbox Code Playgroud)

我想获得以下信息:

'A'                'B' 
'Col1'  'Col2'    'Col1'   'Col2'
 10      60        NaN      NaN
 20      70        NaN      NaN
 30      80        NaN      NaN 
 NaN     NaN       40       90 
 NaN     NaN       50       100
Run Code Online (Sandbox Code Playgroud)

我尝试使用df.unstack(0).swaplevel(0,1,axis=1)但这会导致:

'A'     'B'       'A'      'B' 
'Col1'  'Col1'    'Col2'   'Col2'
10      NaN        60      NaN
20      NaN        70      NaN
30      NaN        80      NaN
NaN     40         NaN     90
NaN     50         NaN     100 
Run Code Online (Sandbox Code Playgroud)

有人能指出我正确的方向吗?

python reshape pandas

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

Dask Dataframe将列表列拆分为多个列

Pandas中的相同任务可以轻松完成

import pandas as pd
df = pd.DataFrame({"lists":[[i, i+1] for i in range(10)]})
df[['left','right']] = pd.DataFrame([x for x in df.lists])
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何做一些类似的东西 dask.dataframe

更新

到目前为止,我发现了这个解决方法

ddf = dd.from_pandas(df, npartitions=2)
ddf["left"] = ddf.apply(lambda x: x["lists"][0], axis=1, meta=pd.Series())
ddf["right"] = ddf.apply(lambda x: x["lists"][1], axis=1, meta=pd.Series())
Run Code Online (Sandbox Code Playgroud)

我想知道是否还有另一种方法可以进行.

python dataframe pandas dask

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

pandas数据框:将2列(值,值)转换为2列(值,类型)

假设我有以下数据框“ A”

         utilization  utilization_billable
service                                   
1               10.0                   5.0
2               30.0                  20.0
3               40.0                  30.0
4               40.0                  32.0
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为以下数据框“ B”

         utilization      type
service                       
1               10.0     total
2               30.0     total
3               40.0     total
4               40.0     total
1                5.0  billable
2               20.0  billable
3               30.0  billable
4               32.0  billable
Run Code Online (Sandbox Code Playgroud)

因此,来自第一个的值将被归类为类型列,其值是total或billable。

data = {
    'utilization': [10.0, 30.0, 40.0, 40.0],
    'utilization_billable': [5.0, 20.0, 30.0, 32.0],
    'service': [1, 2, 3, 4]
}
df = pd.DataFrame.from_dict(data).set_index('service')
print(df)

data = {
    'utilization': [10.0, 30.0, …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

绘图条形图 - 根据正/负值更改颜色 - python

我有以下代码绘制条形图(1 个系列),但如果“净”值为正,我需要将条着色为蓝色,如果为负,则将条着色为红色:

import pandas as pd
import plotly.graph_objects as go

df = pd.DataFrame({
     'Net':[15,20,-10,-15], 
     'Date':['07/14/2020','07/15/2020','07/16/2020','07/17/2020']
})

df['Date'] = pd.to_datetime(df['Date'])
fig = go.Figure(data=[go.Bar(name='Net', x=df['Date'], y=df['Net'])])
fig.update_layout(barmode='stack')
fig.show()
Run Code Online (Sandbox Code Playgroud)

python plotly

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

Plotly:如何在plotlyexpress中找到趋势线系数?

如何在plotlyexpress中找到趋势线的系数?

例如,我使用下面的代码来绘制趋势线,但现在我想知道系数。

import plotly.express as px

px.scatter(df, x='x_data', y='y_data', trendline="ols")
Run Code Online (Sandbox Code Playgroud)

python pandas statsmodels plotly

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

在 Plotly Scatter plot 中,如何用一条线连接两组点?

我有以下代码

import plotly.graph_objs as go
layout1= go.Layout(title=go.layout.Title(text="A graph",x=0.5),
        xaxis={'title':'x[m]'},
        yaxis={'title':'y[m]','range':[-10,10]})

point_plot=[
            go.Scatter(x=[3,4],y=[1,2],name="V0"),
            go.Scatter(x=[1,2],y=[1,1],name="V0"),
            go.Scatter(x=[5,6],y=[2,3],name="GT")
    ]
      
      
      
go.Figure(data=point_plot, layout=layout1).show()
Run Code Online (Sandbox Code Playgroud)

产生以下情节

在此处输入图片说明

然而,这并不是我想要的。我想要的是,标有“V0”的两组必须颜色相同,并且图例中只有一个标记。(实际上,我将绘制多于两组的图,例如由一条线连接的 20 组对,它们都必须是相同的颜色并且在图例中只有一个标记)

python plotly

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

Pandas 使用列作为后缀进行透视

我有一个类似于以下示例的数据框:

ID 类型 值_1 值_2
1234 A 1 2
1234 1 2
第789章 A 1 2
第789章 1 2
第567章 A 1 2

我想转换以获得以下内容:

ID 值_1_A 值_1_B 值_2_A 值_2_B
1234 1 1 2 2
第789章 1 1 2 2
第567章 1 1

总之:使用“类型”列作为后缀复制值列并将数据帧转换为宽格式。

有没有任何干净、简单的方法可以在 pyspark 数据框或 pandas 上执行此操作?

python pandas pyspark

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

如何获取矩阵中对角线的中值?

我在 pandas 中有以下矩阵:

import numpy as np
import pandas as pd

df_matrix = pd.DataFrame(np.random.random((10, 10)))
Run Code Online (Sandbox Code Playgroud)

我需要获得一个包含 10 个中值的向量,每条蓝线上有 1 个值,如下图所示:

在此输入图像描述

输出向量中的最后一个数字基本上是 1 个数字而不是中位数。

python numpy pandas

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

标签 统计

python ×10

pandas ×7

plotly ×3

dataframe ×2

dask ×1

numpy ×1

pyspark ×1

reshape ×1

statsmodels ×1

word-cloud ×1