标签: data-analysis

熊猫的字典错误?

请出于好奇而轻率地提出这个问题:

\n

我试图了解 MultiIndex 中的切片如何工作时,我遇到了以下情况 \xe2\x86\x93

\n
# Simple MultiIndex Creation\nindex = pd.MultiIndex.from_product([[\'a\', \'c\', \'b\'], [1, 2]])\n\n# Making Series with that MultiIndex\ndata = pd.Series(np.random.randint(10, size=6), index=index)\n
Run Code Online (Sandbox Code Playgroud)\n

返回:

\n
\na 1 5\n 2 0\nc 1 8\n 2 6\nb 1 6\n 2 3\nd类型: int32\n
\n

请注意,索引按排序顺序,即。是在切片时会导致我们想要的预期a, c, b错误的顺序。

\n
# When we do slicing\ndata.loc["a":"c"]\n
Run Code Online (Sandbox Code Playgroud)\n

错误如:

\n
\nUnsortedIndexError\n\n----> 1 data.loc["a":"c"]\nUnsortedIndexError: \'密钥长度 (1) 大于 MultiIndex lexsort 深度 (0)\'\n
\n

这是预料之中的。但现在,执行以下步骤后:

\n
# Making a DataFrame\ndata …
Run Code Online (Sandbox Code Playgroud)

python data-analysis dataframe python-3.x pandas

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

在Python pandas中自定义rolling_apply函数

建立

我有一个包含三列的DataFrame:

  • "类别"包含True和False,我已df.groupby('Category')按照这些值进行分组.
  • "时间"包含已记录值的时间戳(以秒为单位)
  • "值"包含值本身.

在每个时间实例,记录两个值:一个具有"True"类别,另一个具有"False"类别.

滚动申请问题

在每个类别组中,我想计算一个数字并将其存储在每次结果列中.结果是时间t-60t介于1和3之间的值的百分比.

实现此目的的最简单方法可能是计算该时间间隔内的值的总数rolling_count,然后执行rolling_apply以仅计算该间隔中介于1和3之间的值.

到目前为止,这是我的代码:

groups = df.groupby(['Category'])
for key, grp in groups:
    grp = grp.reindex(grp['Time']) # reindex by time so we can count with rolling windows
    grp['total'] = pd.rolling_count(grp['Value'], window=60) # count number of values in the last 60 seconds
    grp['in_interval'] = ? ## Need to count number of values where 1<v<3 in the last 60 seconds

    grp['Result'] = grp['in_interval'] …
Run Code Online (Sandbox Code Playgroud)

python group-by aggregate data-analysis pandas

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

机器学习在实践中:自己编写算法还是使用Weka?

我问自己一个问题,大多数人是否通常自己编写机器学习算法,或者他们是否可能使用现有的解决方案,如Weka或R包.

当然这取决于问题 - 但是我想说我想使用像神经网络这样的通用解决方案.还有理由自己编码吗?更好地理解机制并适应它?或者标准化解决方案的思想更重要?

machine-learning data-mining data-analysis weka

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

R编程(气泡图可视化)

我有乘客出行频率的数据集:

CountryOrigin - 有40多个国家名称
(印度,澳大利亚,中国,日本,巴塔姆,巴厘岛,新加坡)
CountryDestination - 有40多个国家名称(印度,澳大利亚,中国,日本,巴塔姆,巴厘岛,新加坡)

       IND   AUS   CHI   JAP   BAT   SING
 IND     0     4    10    12    24     89
 AUS    19     0    12     9     7     20
 CHI    34    56     0     2     6     18
 JAP    12    17    56     0     2      2
 SING   56    34     7     3    35      0
Run Code Online (Sandbox Code Playgroud)

我需要x轴的原点位置名称和y轴的目的地名称,频率应表示为气泡的大小.

visualization bubble-chart r data-analysis

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

根据r中另一个数据框中的列填充数据框中的列

我有一个评论数据框,看起来像这样(df1)

Comments
Apple laptops are really good for work,we should buy them
Apple Iphones are too costly,we can resort to some other brands
Google search is the best search engine 
Android phones are great these days
I lost my visa card today
Run Code Online (Sandbox Code Playgroud)

我有另一个merchent名称的数据框,看起来像这样(df2):

Merchant_Name
Google
Android
Geoni
Visa
Apple
MC
WallMart
Run Code Online (Sandbox Code Playgroud)

如果df2中的merchant_name出现在df 1的Comment中,则将该商家名称附加到R中df1中的第二列.匹配不必是完全匹配.近似值是必需的.此外,df1包含大约500K行!我的最终输出df可能看起来像这样

Comments                                                        Merchant
Apple laptops are really good for work,we should buy them       Apple
Apple Iphones are too costly,we can resort to some other brands Apple
Google search …
Run Code Online (Sandbox Code Playgroud)

r data-analysis

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

计算熊猫中的元素

假设我有一个像这样的Panda DataFrame

import pandas as pd


a=pd.Series([{'Country'='Italy','Name'='Augustina','Gender'='Female','Number'=1}])
b=pd.Series([{'Country'='Italy','Name'='Piero','Gender'='Male','Number'=2}])
c=pd.Series([{'Country'='Italy','Name'='Carla','Gender'='Female','Number'=3}])
d=pd.Series([{'Country'='Italy','Name'='Roma','Gender'='Female','Number'=4}])
e=pd.Series([{'Country'='Greece','Name'='Sophia','Gender'='Female','Number'=5}])
f=pd.Series([{'Country'='Greece','Name'='Zeus','Gender'='Male','Number'=6}])

df=pd.DataFrame([a,b,c,d,e,f])
Run Code Online (Sandbox Code Playgroud)

然后,我用multiindex排序,就像

df.set_index(['Country','Gender'],inplace=True)
Run Code Online (Sandbox Code Playgroud)

现在,我想知道如何计算来自意大利的人数,或者我在数据框中有多少希腊女性.

我试过了

df['Italy'].count()
Run Code Online (Sandbox Code Playgroud)

 df['Greece']['Female'].count()
Run Code Online (Sandbox Code Playgroud)

.它们都不起作用,

谢谢

python data-analysis pandas

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

Python Pandas groupby多列

谢谢您的帮助.

我的数据看起来像这样:

city,  room_type
A, X
A, Y
A, Z
B, X
B, Y
B, Y
Run Code Online (Sandbox Code Playgroud)

我希望我的最终结果看起来像这样:

city, count(X), count(Y), count(z) 
A,  1, 1, 1
B,  1, 2, 0
Run Code Online (Sandbox Code Playgroud)

我按城市分组,我想显示每个城市中每个room_type的数量.

用python pandas做任何方法吗?谢谢.

我在几年前学过SQL,并认为它可能是可能的.我相信python可以做同样的事情.谢谢!

python data-analysis pandas

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

在大熊猫中,你可以通过均值和圆形聚合,这意味着最接近的int?

所以我有169个列已经被处理为1 =是和0 =对于no,现在我需要按平均值汇总200万行,并且得到最接近的int的循环,我怎么能得到它?

图像显示每列的值为0或1

在此输入图像描述

python data-analysis pandas anaconda

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

如何检查数据框中是否存在值

嗨,我想获取包含特定单词的数据框的列名,

例如:我有一个数据帧,

NA              good    employee
Not available   best    employer
not required    well    manager
not eligible    super   reportee

my_word=["well"]
Run Code Online (Sandbox Code Playgroud)

如何检查df中是否存在"井",以及"井"中的列名称是否存在

提前致谢!

python data-analysis dataframe pandas

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

seaborn多变量组条形图

我有pandas数据帧,一个索引(datetime)和三个变量(int)

date        A   B       C
2017-09-05  25  261     31
2017-09-06  261 1519    151
2017-09-07  188 1545    144
2017-09-08  200 2110    232
2017-09-09  292 2391    325
Run Code Online (Sandbox Code Playgroud)

我可以用基本的熊猫图创建分组条形图.

df.plot(kind='bar', legend=False)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是,我想在Seaborn或其他图书馆展示,以提高我的技能.
我找到了非常接近的答案(熊猫:如何绘制两个类别和四个系列的条形图?).
在其建议的答案中,它具有代码

ax=sns.barplot(x='', y='', hue='', data=data)
Run Code Online (Sandbox Code Playgroud)

如果我将此代码应用于我的,我不知道我的'y`是什么.

ax=sns.barplot(x='date', y=??, hue=??, data=data)
Run Code Online (Sandbox Code Playgroud)

如何使用Seaborn或其他库绘制多个变量?

matplotlib data-analysis pandas seaborn

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