我有一个数据集
|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) 我有一个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) 如果我有一个包含以下列的数据框:
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) 要按单列过滤数据框(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) 当我使用这种语法时,它会创建一个系列,而不是将列添加到我的新数据帧(总和).请帮忙.
我的代码:
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) 刚开始使用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) 我有一个十列的简单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) 我有一个数据框(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) 我查看了数据框列中的唯一值 - 我拥有的pandas.并且在其中一个列中有一些我不想包含的名称,如何在不使用索引值表示法的情况下从数据框中删除这些行,而是说如果行值="this"则删除
喜欢...
new = df.copy
df['some column'].drop_values('this','that','other')
Run Code Online (Sandbox Code Playgroud) 我最近一直在学习GIT版本控制系统,它似乎非常适用于纯文本文档,因为你可以添加一行,返回并分叉,修改文档并删除刚刚添加的行.
我主要在excel编程并用文字编写文档.可以使用GIT来管理这些文件的版本(显然不是文件中的内容,而是文件本身?)