请出于好奇而轻率地提出这个问题:
\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)\nRun 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错误的顺序。
# When we do slicing\ndata.loc["a":"c"]\nRun 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) 我有一个包含三列的DataFrame:
df.groupby('Category')按照这些值进行分组.在每个时间实例,记录两个值:一个具有"True"类别,另一个具有"False"类别.
在每个类别组中,我想计算一个数字并将其存储在每次结果列中.结果是时间t-60与t介于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) 我问自己一个问题,大多数人是否通常自己编写机器学习算法,或者他们是否可能使用现有的解决方案,如Weka或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轴的目的地名称,频率应表示为气泡的大小.
我有一个评论数据框,看起来像这样(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) 假设我有一个像这样的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)
.它们都不起作用,
谢谢
谢谢您的帮助.
我的数据看起来像这样:
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可以做同样的事情.谢谢!
嗨,我想获取包含特定单词的数据框的列名,
例如:我有一个数据帧,
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中是否存在"井",以及"井"中的列名称是否存在
提前致谢!
我有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或其他库绘制多个变量?
data-analysis ×10
pandas ×7
python ×6
dataframe ×2
r ×2
aggregate ×1
anaconda ×1
bubble-chart ×1
data-mining ×1
group-by ×1
matplotlib ×1
python-3.x ×1
seaborn ×1
weka ×1