小编yos*_*rry的帖子

计算值在数据帧列中出现的频率

我有一个数据集

|category|
cat a
cat b
cat a
Run Code Online (Sandbox Code Playgroud)

我希望能够返回类似的东西(显示独特的值和频率)

category | freq |
cat a       2
cat b       1
Run Code Online (Sandbox Code Playgroud)

python pandas

251
推荐指数
10
解决办法
52万
查看次数

从pandas dataframe列获取列表

我有一个excel文档,看起来像这样..

cluster load_date   budget  actual  fixed_price
A   1/1/2014    1000    4000    Y
A   2/1/2014    12000   10000   Y
A   3/1/2014    36000   2000    Y
B   4/1/2014    15000   10000   N
B   4/1/2014    12000   11500   N
B   4/1/2014    90000   11000   N
C   7/1/2014    22000   18000   N
C   8/1/2014    30000   28960   N
C   9/1/2014    53000   51200   N
Run Code Online (Sandbox Code Playgroud)

我希望能够返回第1列的内容 - 群集作为列表,因此我可以在其上运行for循环,并为每个群集创建一个excel工作表.

是否也可以将整行的内容返回到列表中?例如

list = [], list[column1] or list[df.ix(row1)]
Run Code Online (Sandbox Code Playgroud)

python list pandas

241
推荐指数
7
解决办法
56万
查看次数

获取基于数据类型的pandas数据帧列的列表

如果我有一个包含以下列的数据框:

1. NAME                                     object
2. On_Time                                      object
3. On_Budget                                    object
4. %actual_hr                                  float64
5. Baseline Start Date                  datetime64[ns]
6. Forecast Start Date                  datetime64[ns] 
Run Code Online (Sandbox Code Playgroud)

我想能够说:这是一个数据帧,给我一个类型为Object或DateTime类型的列的列表?

我有一个函数将数字(Float64)转换为两个小数位,我想使用这个特定类型的数据帧列表,并通过此函数运行它将它们全部转换为2dp.

也许:

For c in col_list: if c.dtype = "Something"
list[]
List.append(c)?
Run Code Online (Sandbox Code Playgroud)

python pandas

166
推荐指数
7
解决办法
42万
查看次数

如何按多列过滤pandas数据帧

要按单列过滤数据框(df),如果我们考虑男性和女性的数据,我们可能会:

males = df[df[Gender]=='Male']
Run Code Online (Sandbox Code Playgroud)

问题1 - 但如果数据跨越多年并且我只想看2014年的男性怎么办?

在其他语言中,我可能会这样做:

if A = "Male" and if B = "2014" then 
Run Code Online (Sandbox Code Playgroud)

(除了我想这样做并在新的dataframe对象中获取原始数据帧的子集)

问题2.如何在循环中执行此操作,并为每个独特的年份和性别集创建数据框对象(即:2013年男性,2013年女性,2014年男性和2014年女性的df

for y in year:

for g in gender:

df = .....
Run Code Online (Sandbox Code Playgroud)

python filter pandas

80
推荐指数
6
解决办法
11万
查看次数

在pandas数据帧中总结两列

当我使用这种语法时,它会创建一个系列,而不是将列添加到我的新数据帧(总和).请帮忙.

我的代码:

sum = data['variance'] = data.budget + data.actual
Run Code Online (Sandbox Code Playgroud)

我的数据(在数据框df中):(目前除了预算之外还有其他所有内容 - 实际上,我想创建一个方差列?

    cluster     date    budget  actual          | budget - actual
0   a   2014-01-01 00:00:00     11000   10000       1000
1   a   2014-02-01 00:00:00     1200    1000
2   a   2014-03-01 00:00:00     200     100
3   b   2014-04-01 00:00:00     200     300
4   b   2014-05-01 00:00:00     400     450
5   c   2014-06-01 00:00:00     700     1000
6   c   2014-07-01 00:00:00     1200    1000
7   c   2014-08-01 00:00:00     200     100
8   c   2014-09-01 00:00:00     200     300
Run Code Online (Sandbox Code Playgroud)

python pandas

33
推荐指数
2
解决办法
12万
查看次数

使用pandas数据框中的数据创建多个Excel工作表

刚开始使用pandas和python.

我有一个工作表,我已经读入数据框和应用前向填充(ffill)方法.

然后,我想创建一个包含两个工作表的excel文档.

在应用ffill方法之前,一个工作表将具有数据框中的数据,而下一个工作表将具有应用了ffill方法的数据框.

最后,我打算为数据帧的某一列中的每个唯一数据实例创建一个工作表.

然后我想对结果应用一些vba格式 - 但我不确定哪个dll或插件或者我需要使用python调用excel vba来将标题格式化为粗体并添加颜色等.

我已经取得了部分成功,xlsxwriter将创建一个新的工作簿并添加工作表,但是dataframe.to_excel操作似乎不适用于它创建的工作簿,工作簿打开但工作表是空白的.

提前致谢.

import os
import time
import pandas as pd
import xlwt
from xlwt.Workbook import *
from pandas import ExcelWriter
import xlsxwriter

#set folder to import files from
path = r'path to some file'
#folder = os.listdir(path)

#for loop goes here

#get date
date = time.strftime('%Y-%m-%d',time.gmtime(os.path.getmtime(path)))

#import excel document
original = pd.DataFrame()
data = pd.DataFrame()

original = pd.read_excel(path,sheetname='Leave',skiprows=26)
data = pd.read_excel(path,sheetname='Leave',skiprows=26)

print (data.shape)
data.fillna(method='ffill',inplace=True)

#the code for creating the workbook and …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

ipython笔记本pandas最大允许列

我有一个十列的简单csv文件!

当我在笔记本中设置以下选项并打印我的csv文件(在pandas数据框中)时,它不会从左到右打印所有列,它会打印前两个,下面两个打印,依此类推.

我用这个选项,为什么不工作?

pd.option_context("display.max_rows",1,"display.max_columns",100)
Run Code Online (Sandbox Code Playgroud)

即使这似乎不起作用:

pandas.set_option('display.max_columns', None)
Run Code Online (Sandbox Code Playgroud)

python ipython pandas ipython-notebook

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

在pandas数据帧的每一列中打印唯一值

我有一个数据框(df),并希望打印数据框中每列的唯一值.

我需要将变量(i)[列名]替换为print语句

column_list = df.columns.values.tolist()
for column_name in column_list:
    print(df."[column_name]".unique()
Run Code Online (Sandbox Code Playgroud)

更新

当我使用它时:我得到了"意外的EOF解析"而没有额外的细节.

column_list = sorted_data.columns.values.tolist()
for column_name in column_list:
      print(sorted_data[column_name].unique()
Run Code Online (Sandbox Code Playgroud)

你的语法YS-L(上面)和下面有什么区别:

for column_name in sorted_data:
      print(column_name)
      s = sorted_data[column_name].unique()
      for i in s:
        print(str(i))
Run Code Online (Sandbox Code Playgroud)

python for-loop pandas

17
推荐指数
4
解决办法
3万
查看次数

根据列值而不是索引值从pandas数据框中排除行

我查看了数据框列中的唯一值 - 我拥有的pandas.并且在其中一个列中有一些我不想包含的名称,如何在不使用索引值表示法的情况下从数据框中删除这些行,而是说如果行值="this"则删除

喜欢...

new = df.copy

df['some column'].drop_values('this','that','other')
Run Code Online (Sandbox Code Playgroud)

python pandas

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

git可以用于非文本文档的版本控制,如word doc或xls等

我最近一直在学习GIT版本控制系统,它似乎非常适用于纯文本文档,因为你可以添加一行,返回并分叉,修改文档并删除刚刚添加的行.

我主要在excel编程并用文字编写文档.可以使用GIT来管理这些文件的版本(显然不是文件中的内容,而是文件本身?)

git version-control xls doc

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

标签 统计

pandas ×9

python ×9

doc ×1

filter ×1

for-loop ×1

git ×1

ipython ×1

ipython-notebook ×1

list ×1

version-control ×1

xls ×1