小编Vib*_*bhu的帖子

如何使用相同的键对行进行求和?

在我的代码中,df定义如下

df = pd.read_excel(io=file_name, sheet_name=sheet, sep='\s*,\s*')
Run Code Online (Sandbox Code Playgroud)

我有一个看起来像这样的[86 rows x 1 columns]数据框dfprint(df)

          0
Male    511
Female  461
Male    273
Female  217
Male    394
Female  337
Female  337
Male    337
...
Run Code Online (Sandbox Code Playgroud)

我希望编写一个像这样mergeMaleFemale条目的代码

          0   1   2   3 ...
Male    511 273 394 337 ...
Female  461 217 337 337 ...
Run Code Online (Sandbox Code Playgroud)

我需要做的最后一项任务是.sum()男性排,然后是女排,以获得每个性别的总数.我是python和pandas的新手,到目前为止我还没有取得多大进展.任何帮助,教程,文档都会很棒!谢谢!

编辑:keys我指的是索引.我希望这些男性和女性的标签可以用来"聚集"这些行,但我不知道如何.

编辑:我已经完成了我的最后一项任务

print(df.ix['Female'].sum())
print(df.ix['Male'].sum())
Run Code Online (Sandbox Code Playgroud)

但我还没有完成我的最新任务.有任何想法吗?

python sorting dataframe pandas

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

如何将 .values_counts() 用于数据框中的列表项

我有一个df看起来像这样的数据框:

data = [['Alex','Japan'],['Joe','Japan, India']]
df = pd.DataFrame(data,columns=['Name','Countries'])

Name Countries
Alex Japan
Joe  Japan, India
Run Code Online (Sandbox Code Playgroud)

所以我想以这样的方式修改 df,当我实现时df['Countries'].value_coun ts(),我得到

Japan 2
India 1
Run Code Online (Sandbox Code Playgroud)

所以我想我应该df['Countries']使用这个将这些字符串转换成一个列表:

df['Countries']= df['Countries'].str[0:].str.split(',').tolist()

    Name    Countries
0   Alex    [Japan]
1   Bob [Japan, India]
Run Code Online (Sandbox Code Playgroud)

但是现在当我运行时df['Countries'].value_counts(),出现以下错误:

TypeError: unhashable type: 'list'
Run Code Online (Sandbox Code Playgroud)

我希望的是,当我运行 a 时,.values_counts()我会为日本获得 2 分,为印度获得 1 分。请看看你能不能帮我解决这个问题。谢谢!

python dataframe pandas

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

如何绘制时间序列中事件的频率?

我有一个包含日期和质量虚拟值(0 或 1)的数据框:

      unixTimestamp         date     quality
 0       1370131200   06 2, 2013           1
 1       1290643200  11 25, 2010           1
 2       1283990400   09 9, 2010           1
 3       1290556800  11 24, 2010           1
 4       1317254400  09 29, 2011           1
 5       1388707200   01 3, 2014           1
 6       1398556800  04 27, 2014           1
 7       1399161600   05 4, 2014           0
 8       1405036800  07 11, 2014           1
 9       1390176000  01 20, 2014           1
 10      1397606400  04 16, 2014           1
Run Code Online (Sandbox Code Playgroud)

我想做的:绘制随着quality时间的推移“是”(1) 的频率。

我尝试过:绘制这样的直方图:

plt.hist(x=df.loc[df['quality'] == 1].unixTimestamp, …
Run Code Online (Sandbox Code Playgroud)

python time-series matplotlib python-3.x pandas

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