导航:首页 > 编程语言 > pythonresample实现

pythonresample实现

发布时间:2023-05-27 12:50:29

① 利用python进行数据分析(10)-移动窗口函数

Python-for-data-移动窗口函数

本文中介绍的是 ,主要的算子是:

统计和通过其他移动窗口或者指数衰减而运行的函数,称之为 移动窗口函数

<style scoped="">.dataframe tbody tr th:only-of-type { vertical-align: middle; } <pre><code>.dataframe tbody tr th { vertical-align: top; } .dataframe thead th { text-align: right; } </code></pre></style>

2292 rows × 3 columns

rolling算子,行咐肆为和resample和groupby类似

rolling可以在S或者DF上通过销陵一个window进行调用

<style scoped="">.dataframe tbody tr th:only-of-type { vertical-align: middle; } <pre><code>.dataframe tbody tr th { vertical-align: top; } .dataframe thead th { text-align: right; } </code></pre></style>

2292 rows × 3 columns

指定一个常数衰减因子为观测值提供更多的权重。常用指定衰减因子的方法:使用span(跨度)衡斗轿

一些统计算子,例如相关度和协方差等需要同时操作两个时间序列。

例如,金融分析中的股票和基准指数的关联性问题:计算时间序列的百分比变化pct_change()

<style scoped="">.dataframe tbody tr th:only-of-type { vertical-align: middle; } <pre><code>.dataframe tbody tr th { vertical-align: top; } .dataframe thead th { text-align: right; } </code></pre></style>

在rolling及其相关方法上使用apply方法提供了一种在移动窗口中应用自己设计的数组函数的方法。

唯一要求:该函数从每个数组中产生一个单值(缩聚),例如使用rolling()...quantile(q)计算样本的中位数

② python的image.merge去掉红色西数

纯净天空
当前位置: 首页>>代码示例>>Python>>正文

Python Image.merge方法代码示例
本文整理汇总了Python中PIL.Image.merge方法的典型用法代码示例。如果您正苦于以下问题:Python Image.merge方法的具体用法?Python Image.merge怎么用?Python Image.merge使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PIL.Image的用法示例。

在下文中一共展示了Image.merge方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统册绝滚推荐出更棒的Python代码示例。

示例1: resolve
▲ 点赞 6 ▼
# 需要宏空导入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def resolve(ctx):
from PIL import Image
if isinstance(ctx, list):
ctx = [ctx[0]]
net.load_parameters('superres.params', ctx=ctx)
img = Image.open(opt.resolve_img).convert('YCbCr')
y, cb, cr = img.split()
data = mx.nd.expand_dims(mx.nd.expand_dims(mx.nd.array(y), axis=0), axis=0)
out_img_y = mx.nd.reshape(net(data), shape=(-3, -2)).asnumpy()
out_img_y = out_img_y.clip(0, 255)
out_img_y = Image.fromarray(np.uint8(out_img_y[0]), mode='L')

out_img_cb = cb.resize(out_img_y.size, Image.BICUBIC)
out_img_cr = cr.resize(out_img_y.size, Image.BICUBIC)
out_img = Image.merge('YCbCr', [out_img_y, out_img_cb, out_img_cr]).convert('RGB')

out_img.save('resolved.png')
开发者ID:awslabs,项目名称:dynamic-training-with-apache-mxnet-on-aws,代码行数:19,代码来源:super_resolution.py

示例2: distort_image
▲ 点赞 6 ▼
# 需要导州余入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def distort_image(im, hue, sat, val):
im = im.convert('HSV')
cs = list(im.split())
cs[1] = cs[1].point(lambda i: i * sat)
cs[2] = cs[2].point(lambda i: i * val)

def change_hue(x):
x += hue*255
if x > 255:
x -= 255
if x < 0:
x += 255
return x
cs[0] = cs[0].point(change_hue)
im = Image.merge(im.mode, tuple(cs))

im = im.convert('RGB')
return im
开发者ID:XiaoYee,项目名称:emotion_classification,代码行数:20,代码来源:utils.py

示例3: distort_image
▲ 点赞 6 ▼
# 需要导入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def distort_image(im, hue, sat, val):
im = im.convert('HSV')
cs = list(im.split())
cs[1] = cs[1].point(lambda i: i * sat)
cs[2] = cs[2].point(lambda i: i * val)

def change_hue(x):
x += hue*255
if x > 255:
x -= 255
if x < 0:
x += 255
return x
cs[0] = cs[0].point(change_hue)
im = Image.merge(im.mode, tuple(cs))

im = im.convert('RGB')
#constrain_image(im)
return im
开发者ID:andy-yun,项目名称:pytorch-0.4-yolov3,代码行数:21,代码来源:image.py

示例4: open_base_img
▲ 点赞 6 ▼
# 需要导入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def open_base_img(full_profile, res, base_color, color):
# get base image according to profile and perceptual gray of key color
base_num = str([0xE0, 0xB0, 0x80, 0x50, 0x20].index(base_color) + 1)

# open image and convert to Lab
with Image.open('images/{0}_{1}{2}.png'.format(*full_profile, base_num)) as img:
key_img = img.resize((int(s * res / 200) for s in img.size), resample=Image.BILINEAR).convert('RGBA')
if full_profile[1] in ('ISO', 'BIGENTER'): alpha = key_img.split()[-1]
l, a, b = ImageCms.applyTransform(key_img, rgb2lab_transform).split()

# convert key color to Lab
# a and b should be scaled by 128/100, but desaturation looks more natural
rgb_color = color_objects.sRGBColor(*ImageColor.getrgb(color), is_upscaled=True)
lab_color = color_conversions.convert_color(rgb_color, color_objects.LabColor)
l1, a1, b1 = lab_color.get_value_tuple()
l1, a1, b1 = int(l1 * 256 / 100), int(a1 + 128), int(b1 + 128)

# change Lab of base image to match that of key color
l = ImageMath.eval('convert(l + l1 - l_avg, "L")', l=l, l1=l1, l_avg=base_color)
a = ImageMath.eval('convert(a + a1 - a, "L")', a=a, a1=a1)
b = ImageMath.eval('convert(b + b1 - b, "L")', b=b, b1=b1)

key_img = ImageCms.applyTransform(Image.merge('LAB', (l, a, b)), lab2rgb_transform).convert('RGBA')
if full_profile[1] in ('ISO', 'BIGENTER'): key_img.putalpha(alpha)
return key_img
开发者ID:CQCumbers,项目名称:kle_render,代码行数:27,代码来源:key.py

示例5: __call__
▲ 点赞 6 ▼
# 需要导入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def __call__(self, video_path, frame_indices):
with h5py.File(video_path, 'r') as f:

flow_data = []
for flow in self.flows:
flow_data.append(f[f'video_{flow}'])

video = []
for i in frame_indices:
if i < len(flow_data[0]):
frame = [
Image.open(io.BytesIO(video_data[i]))
for video_data in flow_data
]
frame.append(frame[-1]) # add mmy data into third channel
video.append(Image.merge('RGB', frame))

return video
开发者ID:kenshohara,项目名称:3D-ResNets-PyTorch,代码行数:20,代码来源:loader.py

示例6: test_consistency_5x5
▲ 点赞 6 ▼
# 需要导入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def test_consistency_5x5(self):
source = Image.open("Tests/images/hopper.bmp")
reference = Image.open("Tests/images/hopper_emboss_more.bmp")
kernel = ImageFilter.Kernel((5, 5), # noqa: E127
(-1, -1, -1, -1, 0,
-1, -1, -1, 0, 1,
-1, -1, 0, 1, 1,
-1, 0, 1, 1, 1,
0, 1, 1, 1, 1), 0.3)
source = source.split() * 2
reference = reference.split() * 2

for mode in ['L', 'LA', 'RGB', 'CMYK']:
self.assert_image_equal(
Image.merge(mode, source[:len(mode)]).filter(kernel),
Image.merge(mode, reference[:len(mode)]),
)
开发者ID:holzschu,项目名称:python3_ios,代码行数:19,代码来源:test_image_filter.py

示例7: test_channels_order
▲ 点赞 6 ▼
# 需要导入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def test_channels_order(self):
g = Image.linear_gradient('L')
im = Image.merge('RGB', [g, g.transpose(Image.ROTATE_90),
g.transpose(Image.ROTATE_180)])

# Reverse channels by splitting and using table
self.assert_image_equal(
Image.merge('RGB', im.split()[::-1]),
im._new(im.im.color_lut_3d('RGB', Image.LINEAR,
3, 2, 2, 2, [
0, 0, 0, 0, 0, 1,
0, 1, 0, 0, 1, 1,

1, 0, 0, 1, 0, 1,
1, 1, 0, 1, 1, 1,
])))
开发者ID:holzschu,项目名称:python3_ios,代码行数:18,代码来源:test_color_lut.py

示例8: wedge
▲ 点赞 6 ▼
# 需要导入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def wedge(self):
w = Image._wedge()
w90 = w.rotate(90)

(px, h) = w.size

r = Image.new('L', (px*3, h))
g = r.()
b = r.()

r.paste(w, (0, 0))
r.paste(w90, (px, 0))

g.paste(w90, (0, 0))
g.paste(w, (2*px, 0))

b.paste(w, (px, 0))
b.paste(w90, (2*px, 0))

img = Image.merge('RGB', (r, g, b))

return img
开发者ID:holzschu,项目名称:python3_ios,代码行数:24,代码来源:test_format_hsv.py

示例9: _fry
▲ 点赞 6 ▼
# 需要导入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def _fry(img):
e = ImageEnhance.Sharpness(img)
img = e.enhance(100)
e = ImageEnhance.Contrast(img)
img = e.enhance(100)
e = ImageEnhance.Brightness(img)
img = e.enhance(.27)
r, b, g = img.split()
e = ImageEnhance.Brightness(r)
r = e.enhance(4)
e = ImageEnhance.Brightness(g)
g = e.enhance(1.75)
e = ImageEnhance.Brightness(b)
b = e.enhance(.6)
img = Image.merge('RGB', (r, g, b))
e = ImageEnhance.Brightness(img)
img = e.enhance(1.5)
temp = BytesIO()
temp.name = 'deepfried.png'
img.save(temp)
temp.seek(0)
return temp
开发者ID:Flame442,项目名称:FlameCogs,代码行数:24,代码来源:deepfry.py

示例10: save_to_disk
▲ 点赞 6 ▼
# 需要导入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def save_to_disk(self, filename, format='.png'):
"""Save this image to disk (requires PIL installed)."""
filename = _append_extension(filename, format)

try:
from PIL import Image as PImage
except ImportError:
raise RuntimeError(
'cannot import PIL, make sure pillow package is installed')

image = PImage.frombytes(
mode='RGBA',
size=(self.width, self.height),
data=self.raw_data,
decoder_name='raw')
color = image.split()
image = PImage.merge("RGB", color[2::-1])

folder = os.path.dirname(filename)
if not os.path.isdir(folder):
os.makedirs(folder)
image.save(filename, quality=100)
开发者ID:felipecode,项目名称:coiltraine,代码行数:24,代码来源:sensor.py

示例11: from_png_to_bmp
▲ 点赞 6 ▼
# 需要导入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def from_png_to_bmp(png_path, output_path=BMP_IMAGE_TEST_TO_PATH):
"""
Convert a png_path image into a bmp 3-channel one and return the path to the converted image
:param png_path: path of the image
:param output_path: path in which we save the image
:return: the file path
"""
# convert a .png image file to a .bmp image file using PIL
file_name = os.path.splitext(png_path)[0] \
.split("/")[-1]
file_in = png_path
img = Image.open(file_in)

file_out = os.path.join(output_path, str(file_name), str(file_name) + '.bmp')
len(img.split()) # test
if len(img.split()) == 4:
# prevent IOError: cannot write mode RGBA as BMP
r, g, b, a = img.split()
img = Image.merge("RGB", (r, g, b))
img.save(file_out)
else:
img.save(file_out)
return file_out
开发者ID:mawanda-jun,项目名称:TableTrainNet,代码行数:25,代码来源:inference_with_net.py

示例12: save_to_disk
▲ 点赞 6 ▼
# 需要导入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def save_to_disk(self, filename):
"""Save this image to disk (requires PIL installed)."""
filename = _append_extension(filename, '.png')

try:
from PIL import Image as PImage
except ImportError:
raise RuntimeError(
'cannot import PIL, make sure pillow package is installed')

image = PImage.frombytes(
mode='RGBA',
size=(self.width, self.height),
data=self.raw_data,
decoder_name='raw')
color = image.split()
image = PImage.merge("RGB", color[2::-1])

folder = os.path.dirname(filename)
if not os.path.isdir(folder):
os.makedirs(folder)
image.save(filename)
开发者ID:PacktPublishing,项目名称:Hands-On-Intelligent-Agents-with-OpenAI-Gym,代码行数:24,代码来源:sensor.py

示例13: distort_image
▲ 点赞 6 ▼
# 需要导入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def distort_image(im, hue, sat, val):
im = im.convert('HSV')
cs = list(im.split())
cs[1] = cs[1].point(lambda i: i * sat)
cs[2] = cs[2].point(lambda i: i * val)
def change_hue(x):
x += hue*255
if x > 255:
x -= 255
if x < 0:
x += 255
return x
cs[0] = cs[0].point(change_hue)
im = Image.merge(im.mode, tuple(cs))
im = im.convert('RGB')
return im

# generate random scale.
开发者ID:CharlesPikachu,项目名称:YOLO,代码行数:20,代码来源:utils.py

示例14: perform_inference
▲ 点赞 5 ▼
# 需要导入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def perform_inference(sym, arg_params, aux_params, input_img, img_cb, img_cr):
"""Perform inference on image using mxnet"""
metadata = onnx_mxnet.get_model_metadata('super_resolution.onnx')
data_names = [input_name[0] for input_name in metadata.get('input_tensor_data')]
# create mole
mod = mx.mod.Mole(symbol=sym, data_names=data_names, label_names=None)
mod.bind(for_training=False, data_shapes=[(data_names[0], input_img.shape)])
mod.set_params(arg_params=arg_params, aux_params=aux_params)

# run inference
batch = namedtuple('Batch', ['data'])
mod.forward(batch([mx.nd.array(input_img)]))

# Save the result
img_out_y = Image.fromarray(np.uint8(mod.get_outputs()[0][0][0].
asnumpy().clip(0, 255)), mode='L')

result_img = Image.merge(
"YCbCr", [img_out_y,
img_cb.resize(img_out_y.size, Image.BICUBIC),
img_cr.resize(img_out_y.size, Image.BICUBIC)]).convert("RGB")
output_img_dim = 672
assert result_img.size == (output_img_dim, output_img_dim)
LOGGER.info("Super Resolution example success.")
result_img.save("super_res_output.jpg")
return result_img
开发者ID:awslabs,项目名称:dynamic-training-with-apache-mxnet-on-aws,代码行数:28,代码来源:super_resolution.py

示例15: color
▲ 点赞 5 ▼
# 需要导入模块: from PIL import Image [as 别名]
# 或者: from PIL.Image import merge [as 别名]
def color(src, target):
num_pixels = src.size[0] * src.size[1]
colors = src.getcolors(num_pixels)
rgb = sum(c[0] * c[1][0] for c in colors), sum(c[0] * c[1][1] for c in colors), sum(
c[0] * c[1][2] for c in colors)
rgb = rgb[0] / num_pixels, rgb[1] / num_pixels, rgb[2] / num_pixels
bands = target.split()
for i, v in enumerate(rgb):
out = bands[i].point(lambda p: int(p * v / 255))
bands[i].paste(out)
return Image.merge(target.mode, bands)
开发者ID:avrae,项目名称:avrae,代码行数:13,代码来源:playertoken.py

注:本文中的PIL.Image.merge方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。

©2008-2022 | 纯净天空 | 简体 | 繁体 | 联系我们 | 京ICP备15018527号-1 | 赞助商

③ 数据蛙-Python进阶

这是漫长的一周,本周完成了Python的进阶模块,主要是pandas、numpy、matplotlib、seaborn、pyecharts这些模块的学习以及一个实际的案例:商品销售情况分析,之前一直觉得课程难度不够,但到这一周难度就大大提高了。尤其是案例练习中的RFM模型和用户生命周期建立,看懂不难但是自差首己写一直出错,在不断出错不断尝试中知识得到了积累,另外可视化部分没有什么练习题,希望后面可以加上一些这方面的练习,接下来分模块来总结一下学习的内容。

重新设置索引:df.set_index()

Series格式转换为DataFrame:df.to_frame()

文件读取:pd.read_csv(filepath, header = 0,skiprows=[1,2]) 

使用位禅庆源置做索引:df.loc[0]        使用列表做索引:df.loc[[0,1,2]]

使用切片做索引:df.loc[0:4]        使用bool类型索引:df[df['年龄']>30]

loc 是基于索引值的,切片是左闭右闭的

iloc 是基于位置的,切片是左闭右开的

修改列索引:df.rename(columns={'姓名':'name', '年龄':'age'},inplace=True)

替换一个值:df.replace({'name':{'小明':'xiaoming'}},inplace=True)

对数据进行排序:df.sort_values('age')

累加求和:df.cumsum(0)

删除列:del df['player']         删除行:df.drop(labels=0) labels 是行列的名字

数据拼接:pd.concat([left,right],axis=1)

# 指定列进行关联,默认是 inner join     result = pd.merge(left,right,on='key')

#多个关联条件:result = pd.merge(left, right, on=['key1', 'key2'])

#左连接:result = pd.merge(left, right, how='left', on=['key1', 'key2'])

# 列名不一样的关联:pd.merge(left,right,left_on = ['key1','key2'],right_on = ['key3','key4'])

#单个分组:groups = df.groupby('district')

# 作用多个聚合函数:groups.agg([np.mean,np.sum,np.std])

# 针对具体列聚合 groups.age.agg([np.mean,np.sum,np.std])

# 不同列不同聚合函数 groups.agg({"age":np.mean,"novip_buy_times":np.sum})

分组后该列值求和显示:groups['vip_buy_times'].transform('sum')

通常用于求占比:transform(lambda x: x /sum(x))

# 填充指定值:np.full([3,4],1)

# 起始为10,5为步长,30为结贺态尾取不到:np.arange(10, 30, 5)

#随机矩阵:np.random.random((2,3))

# 平均划分:np.linspace( 0, 2*pi, 100 )

# 类型及转换:vector.astype('float')

# 多维变一维:matrix.ravel()

# 矩阵的扩展:a = np.arange(0, 40, 10)    b = np.tile(a, (3, 5))    # 行变成3倍,列变成5倍

# 水平拼接:np.hstack((a,b))  竖直拼接:np.vstack((a,b))

# 竖直分割:np.hsplit(a,3)    #水平分割:np.vsplit(a,3)

8. Select the data in rows [3, 4, 8] and in columns ['animal', 'age'].

A:df.loc[df.index[[3,4,8]],['animal','age']]

行采用位置,列采用普通索引,这里利用index函数将位置变化为具体的普通索引,再利用loc函数

19. The 'priority' column contains the values 'yes' and 'no'. Replace this column with a column of boolean values: 'yes' should be True and 'no' should be False

A1:df['priority'].replace(['yes','no'],[True,False],inplace=True) 用replace函数替换

A2:df['priority'] = df['priority'].map({'yes': True, 'no': False}) 用map函数替换

最大最小值的索引:df.idxmax、df.idxmin

找出最大最小的前N个数:nlargest()和nsmallest() 

将原表分组 并设置分段区间 pd.cut(df['A'], np.arange(0, 101, 10))

resample函数 日期重采样:s.resample('M').mean()

TimeGrouper 重组:s.groupby(pd.TimeGrouper('4M')).idxmax()

split 分割函数:temp = df['From_To'].str.split('_', expand=True) True为DataFrame

两个DataFrame拼接用join:df = df.join(temp)

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签

plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

%matplotlib inline 直接显示

折线图:plt.plot(x,y,color = 'r')

柱状图:plt.bar(x,y)  plt.barh(x,y) 多个bar x设置不同 堆积图 bottom设置不同

散点图:plt.scatter(x, y, c=colors, alpha=0.5, s = area)

直方图:plt.hist(a,bins= 20) bin代表分隔的最小单位

plt.legend() 显示图例

for a,b in zip(X+W[i],data[i]):

    plt.text(a,b,"%.0f"% b,ha="center",va= "bottom") 添加数据标签

plt.annotate('注释文本',xy=(1, np.sin(1)),xytext=(2, 0.5), fontsize=16,arrowprops=dict(arrowstyle="->")) 添加注释文本

plt.xlabel("Group") x轴标题

plt.ylabel("Num") y轴标题

fig, axes = plt.subplots(nrows=2, ncols=2,facecolor='darkslategray')  绘制多个图形

axes[0,0] axes[0,1] axes[1,0] axes[1,1]

pylab.rcParams['figure.figsize'] = (10, 6) # 调整图片大小

动态展示图表

from pyecharts.charts import Bar

from pyecharts import options as opts

** pyecharts 绘图的五个步骤:**

创建图形对象:bar = Bar()

添加绘图数据:bar.add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])

                         bar.add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])

                         bar.add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])

配置系列参数:对标签、线型等的一些设置

配置全局参数:bar.set_global_opts(title_opts=opts.TitleOpts(title="销售情况"))

渲染图片:生成本地 HTML 文件 bar.render("mycharts.html")  bar.render()

notebook 渲染:bar.render_notebook()

bar = (Bar()

    .add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])

    .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])

    .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])

    .set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况"))

)

bar.render_notebook()

柱状图:Bar()

条形图:bar.reversal_axis() #翻转XY轴,将柱状图转换为条形图

折线图:from pyecharts.charts import Line  line=Line()

饼图:from pyecharts.charts import Page, Pie    Pie() 

转换日期类型:df['order_dt']=pd. to_datetime (df.order_dt,format="%Y%m%d")

将日期转换为月为单位:df['month']=df.order_dt.values. astype('datetime64[M]') 所有日期显示为当月第一天

去除日期单元值:order_diff/ np.timedelta64(1,'D')

过滤部分极值:grouped_user.sum() .query('order_procts<100') .order_amount

数据透视表:rfm=df.pivot_table( index ='user_id', values =['order_procts','order_amount'], aggfunc ={'order_amount':'sum','order_procts':'sum'})

map() 方法是pandas.series.map()方法, 对DF中的元素级别的操作, 可以对df的某列或某多列

applymap(func) 也是DF的属性, 对整个DF所有元素应用func操作

purchase_r=pivoted_counts.applymap(lambda x: 1 if x>1 else np.NaN if x==0 else 0)

apply(func) 是DF的属性, 对DF中的行数据或列数据应用func操作,也可用于Series

apply(lambda x:x.cumsum()/x.sum())    累计占比

apply(lambda x:x/x.sum(),axis=0)     每一列中每行数据占比

下周开始进入数据分析思维的课程,很期待后面的课程以及项目,加油!

④ df1.index与df.类别

1、查看数据类型:type(a)
2、查看已安装的包:
在dos命令行界面:如果你使用的是pip来作为你的python包管理器的话,可以在命令行下直接运行$ pip freeze或者$ pip list来查看安装包的信息,当然其它的包管理器也有类似的功能,同时,你也可以在python交互式解释器中导入pip模块来查看包信息。
在python提示符下,用help(‘moles’),可以显示所有包名称,用import sys as s >> s.moles.keys() ,可以显示系统模块;
3、在linux环境下安装anaconda:https://blog.csdn.net/wyf2017/article/details/118676765?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2.pc_relevant_default&utm_relevant_index=5
1)先找需要安装版本的官网地址链接,如https://repo.anaconda.com/archive/Anaconda3-5.3.0-Linux-x86_64.sh;
2)在linux控制台输入:wget https://repo.anaconda.com/archive/Anaconda3-5.3.0-Linux-x86_64.sh
3)先赋权在安装程序:chmod +x Anaconda3-5.3.0-Linux-x86_64.sh
./Anaconda3-5.3.0-Linux-x86_64.sh
4)一直按ENTER,直到出现选择yes or no,输入yes;
5)继续按ENTER,直到出现选择yes,输入yes,添加环境变量;
6)若上面这一步没选择yes,会默认选择no,则需要自己到安装anaconda的路径下,设置环境变量:
export PATH=/home/anaconda3/bin:KaTeX parse error: Expected 'EOF', got '#' at position 36: …一句话注释掉: #̲ export PATH=/u…PATH
export PATH=/root/anaconda3/bin:$PATH
8)然后,保存更改:source ~/.bashrc
9)检测是否安装成功:
进入自己的文件夹目录下输入:anaconda -V conda -V
4、在linux环境下下载并安装mysql:https://blog.csdn.net/daren/article/details/89874564?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164517585116780265466903%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164517585116780265466903&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blog_landing_v2~default-3-89874564.nonecase&utm_term=linux%E7%8E%AF%E5%A2%83%E4%B8%8B%E5%AE%89%E8%A3%85mysql&spm=1018.2226.3001.4450
1)先找安装包网址链接:从官网或者网盘下载
2)用linux命令将安装包下载到指定文件夹下:wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
3)再安装到指定目录下:
cd 路径
解压:tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
修改文件夹名称:mv mysql-5.7.25-linux-glibc2.12-x86_64 /mysql
2)新建data目录
命令:mkdir /mysql/data
3)新建mysql用户组及mysql用户
命令:groupadd mysql //新建用户组
命令:useradd mysql -g mysql //新建用户
4)将/usr/local/mysql的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql
5)配置
命令:/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
6)配置/etc/my.cnf
vim /etc/my.cnf
7)开启服务
命令:cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql //将mysql加入服务
命令:chkconfig mysql on //开机自动启动
命令:service mysql start //开启mysql服务
开启mysql服务报错, 在这里插入图片描述
8)设置密码
命令:/usr/local/mysql/bin/mysql -u root -p //在my.cnf中配置了取消密码验证,此处密码任意输入
命令:use mysql; //操作mysql数据库
命令:update user set authentication_string=password(‘你的密码’) where user=‘root’; //修改密码
命令:flush privileges;
命令:exit; //退出
9)将/etc/my.cnf中的skip-grant-tables删除
10)如果是本机安装则到此步骤已经安装配置完成,如果是在虚拟机或者远程服务器上安装,则需要以下步骤
允许远程连接
命令:/usr/local/mysql/bin/mysql -u root -p //登录
命令:use mysql;
命令:update user set host=’%’ where user = ‘root’;
命令:flush privileges;
命令:exit;
Pandas
dataframe:
1、dataframe,如何查看一个DataFrame对象的所有索引,列名,以及DataFrame中具体的值?
有一个dataframe对象df1,查看索引使用使用df1.index,查看列名使用df1.columns,查看所有的值为df1.values。
2、创建dataframe:
df1=pd.DataFrame(np.arange(16).reshape(4,4),
index = pd.date_range(‘20200101’, periods = 4),
columns=list(‘ABCD’))
3、使用df1.index返回的是一个索引,如果获取具体的值的话,需要使用df1.index.values转化为列表。
4、根据列名取dataframe的数据
基本格式:dataframe[列名]
1)取多列
列名要用中括号括起来,所以下述命令
dataframe[[‘P4_profit_rate’,‘P3PS’,‘P3NS’]] 没问题,返回pandas.core.frame.DataFrame类型的值
dataframe[‘P4_profit_rate’,‘P3PS’,‘P3NS’]出错
2)取一列
列名可以不用中括号括起来,
dataframe[‘P4_profit_rate’] 没问题,返回pandas.core.series.Series类型的值
列名也可以用中括号括起来,
dataframe[[‘P4_profit_rate’]] 也能正常运行,但返回pandas.core.frame.DataFrame类型的值
1. 常用基本方法及属性
df.info() 输出总行数、各列的行数、类型、索引、占用内存等信息;
df.index 输出索引,为 pandas.core.indexes.range.RangeIndex 类型;
df.columns 输出列名,为pandas.core.indexes.base.Index 类型,可使用df.columns.str ;
df.dtypes 各列的类型,输出一个series,值是object类型;
df.values 值,输出一个 array ;
df.describe() 输出各数值列的统计值,如非空个数、均值、std、极值、分位数。
2. 索引
df.set_index() 设置索引,括号内可以填入DataFrame中某列的列名,就能使用此列作为索引;
df.loc[ ] 以label索引,可实现花哨的混合索引,如:df.loc[ df.density>100, [‘pop’, ‘density’] ] ;
df.iloc[ ] 以绝对位置索引,即数字;
掩码操作,如 df[ df [‘density’] > 100 ] 。
3. 计算:
df.cov() 协方差,df.corr() 相关系数,df.mean(axis = 1),df.median(),df.max();
df[ ‘Age’ ].value_counts(ascending = True, bins = 5) 非nan计数(升序排列,分箱);
pd.cut()也能实现连续值离散化,pandas.cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False)。
4. 增删改查、合并、排序
使用df.()防止误修改df;
df.rename(index = {‘a’ : ‘A’}, inplace = True) 重命名索引,注意需要inplace为True才能真正修改;
df.append(df2) 增加;
df.drop([‘a’, ‘b’], inplace = True) 删除;
data.drop_plicates()去重,subset参数可以选择具体的列;
df3 = pd.concat([df1,df2], axis = 0) 实现两个DataFrame的简易合并;
pd.merge(on, left_on, right_on, left_index, right_index, how, suffixes) 数据表连接操作,on可以指定多个列作为键;
多列排序 data.sort_values(by=[‘group’,‘data’],ascending = [False,True],inplace=True),即在by、ascending处传入list,会先按’group’列再按’data’列排序。
5. groupby聚合 和数据透视表pivot_table(相当于多维的groupby操作)
df.pivot_table(index = ‘Sex’, columns=‘Pclass’, values=‘Fare’,aggfunc = ‘sum’) ,aggfunc默认是mean;
6. 时间序列
Pandas所有关于日期与时间的处理方法全部是通过Timestamp对象实现的;
pd.to_datetime(‘2017-11-24’) 把str转化为Timestamp对象(pd.Timestamp也可以);
ts + pd.Timedelta(‘5 days’) 用Timedelta加上时间间隔;
pd.read_csv()方法中参数parse_dates = True,可以直接将数据中的时间作为索引;
将时间戳作为索引值取出对应时间段内的数据:data[pd.Timestamp(‘2012-01-01 09:00’):pd.Timestamp(‘2012-01-01 19:00’)] ,
同时也可以使用 data[‘2013’],data[‘2012-01’:‘2012-03’] 等简便方式;
仅取1月份的数据 data[data.index.month == 1] ;
时间重采样,将原始数据转化为均匀间隔的数据,
DataFrame.resample(rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention=‘start’,kind
=None, loffset=None, limit=None, base=0),如df.resample(‘3D’)方法,对3天的数据进行重采样。
7. apply自定义函数 DataFrame.apply(func, axis=0, broadcast=False, raw=False, rece=None, args=(), kwds),说明:
允许传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple,
关键字参数允许传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
8.缺失值:DataFrame.isnull().any(),.fillna() 等。
9.字符串Series.str.lower(),str是Series的一个属性,s.str.upper(),s.str.len(),index.str.strip(),df.columns.str.replace(’ ‘,’‘),s.str.split(’‘),s.str.contains(‘Ag’),s.str.get_mmies(sep = ‘|’) 。
10、notebook显示设置:
pd.set_option(),pd.get_option()用于使用Notebook做展示;
pd.set_option(‘display.max_columns’,30),pd.set_option(‘display.max_colwidth’,100),
pd.set_option(‘display.max_colwidth’,100)。
11、重复记录处理
1)生成重复记录
#生成重复数据
df=pd.DataFrame(np.ones([5,2]),columns=[‘col1’,‘col2’])
df[‘col3’]=[‘a’,‘b’,‘a’,‘c’,‘d’]
df[‘col4’]=[3,2,3,2,2]
df=df.reindex(columns=[‘col3’,‘col4’,‘col1’,‘col2’]) #将新增的一列排在第一列
2)判断重复记录
isDplicated=df.plicated() #判断重复数据记录
3)删除重复值
new_df1=df.drop_plicates() #删除数据记录中所有列值相同的记录
new_df2=df.drop_plicates([‘col3’]) #删除数据记录中col3列值相同的记录
new_df3=df.drop_plicates([‘col4’]) #删除数据记录中col4列值相同的记录
new_df4=df.drop_plicates([‘col3’,‘col4’]) #删除数据记录中(col3和col4)列值相同的记录
4)python去重drop_plicates后一定要reset_index()。
pandas.DataFrame.reset_index
函数作用:重置索引或其level。
重置数据帧的索引,并使用默认索引。如果数据帧具有多重索引,则此方法可以删除一个或多个level。
函数主要有以下几个参数:reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill=’')
各个参数介绍:
level:可以是int, str, tuple, or list, default None等类型。作用是只从索引中删除给定级别。默认情况下删除所有级别。
drop:bool, default False。不要尝试在数据帧列中插入索引。这会将索引重置为默认的整数索引。
inplace:bool, default False。修改数据帧(不要创建新对象)。
col_level:int or str, default=0。如果列有多个级别,则确定将标签插入到哪个级别。默认情况下,它将插入到第一层。
col_fill:object, default。如果列有多个级别,则确定其他级别的命名方式。如果没有,则复制索引名称。
返回:
DataFrame or None。具有新索引的数据帧,如果inplace=True,则无索引。
python使用问题集锦
1、报错:NameError: name ‘scipy’ is not defined
使用!pip install packages scipy,重新安装成功后,还报错;在运行前先from scipy import optimize,再运行也报错;
还有说是注释或者换行等问题导致的,都无法解决,最后一个可能再试试:在安装scipy前要先安装numpy+mkl(非numpy)。
在如下地址下载安装numpy: http://www.lfd.uci.e/~gohlke/pythonlibs/#numpy
Numpy+MKL is linked to the Intel® Math Kernel Library and includes required DLLs in the numpy.DLLs directory.
下载完成后,在cmd命令行中用pip install numpy-1.22.2+mkl-pp38-pypy38_pp73-win_amd64.whl进行安装,报错如下:
ERROR: numpy-1.22.2+mkl-pp38-pypy38_pp73-win_amd64.whl is not a supported wheel on this platform.
错误原因:安装的不是对应python版本的库,下载的库名中cp27代表python2.7,其它同理。我的python是3.8版本,重新下载后,再安装,进入正常流程中。但是又报如下错误: 在这里插入图片描述

文章知识点与官方知识档案匹配
Python入门技能树首页概览
208764 人正在系统学习中
点击阅读全文
打开CSDN APP,看更多技术内容

Pandas的基本功能_笑 瘾的博客_pandas作用
一、Pandas的常用32个方法和功能 DataFrame() 创建一个DataFrame对象 df.values 返回ndarray类型的对象 df.shape 返回行列数 df.index 获取行索引 df.set_index 设置索引 df.reset_index 重制索引 df.columns 获取列索引 df.rename 重...
继续访问
pandas教程:pandas主要功能详解_hello-java-maker的博客_pand...
df =pd.read_csv("Counts.csv", header=0) df.head() 1 2 选择/切片 df[‘column_name’] ,df[row_start_index, row_end_index] 选取指定整列数据 df['name'] # 选取一列,成一个series df[['name']] # 选取一列...
继续访问
numpy‑1.21.4+mkl‑pp38‑pypy38_pp73‑win_amd64.whl
numpy‑1.21.4+mkl‑pp38‑pypy38_pp73‑win_amd64.whl
Python数据分析 | (17) pandas的基本功能
本篇博客中,我将介绍操作Series和DataFrame中的数据的基本手段。后续将更加深入地挖掘pandas在数据分析和处理方面的功能。这不是pandas库 的详尽文档,主要关注的是最重要的功能,那些不大常用的内容(也就是那 些更深奥的内容)就交给你自己去摸索吧。 目录 1. 重新索引 2. 丢弃指定轴上的项 3. 索引、选取和过滤 4. 整数索引 5. 算术运算和数据对齐 6. ...
继续访问
最新发布 python安装ERROR: matplotlib-3.6.2-pp38-pypy38_pp73-win_amd64.whl is not a supported wheel on this plat
我把文件名称改为matplotlib-3.6.2-py39-none-any.whl。2、看到支持的文件的名称是py30-none-any。
继续访问

热门推荐 使用python经常出现NameError: name 'xxx' is not defined
使用python经常出现NameError: name ‘xxx’ is not defined感觉神之存在的Bug 用注释居然解决了 之前k_means一直是没定义后来加了注释#abc就解决了from sklearn.cluster import k_means# abc如下图所示:解决后感觉太特么奇妙了
继续访问

pandas中index索引功能是什么
pandas的索引对象可以用来保存坐标轴标签和其它元数据,是使用过程中必要的参与对象,那pandas中index索引功能是什么呢?pandas中index索引可以轻松的读取数据,更方便的数据查询,使用index查询的时候可以获得性能提升。 一、index索引特点 更方便的数据查询,使用index查询的时候可以获得性能提升; 自动的数据对齐功能; 更多更强大的数据结构支持。 二、index索引用途 1、使用index读取数据 import pandas as pd df = pd.read_csv("./.
继续访问
pandas 基础功能(二)
pandas 基础功能(二) 1.新增 2.删除 3.修改数据 1.新增 1)在最后新增一列(列S): df["列S]=list ## 增加列的元素个数要跟原数据列的个数一样 2)在指定位置新增一列(列Q): # 语法格式:列表.insert(index, obj) # index --->对象 obj 需要插入的索引位置。 # obj ---> 要插入列表中的对象(列名) col_name=df1.columns.tolist() # 将数据框的列...
继续访问
【报错解决】复现Deep Supervised Cross-Modal Retrieval报错mole scipy has no attribute spatial的解决
mole scipy has no attribute spatial报错的解决。
继续访问

Python函数调用出现NameError: name ‘xxx‘ is not defined的解决办法
原因: 函数里用的是局部变量,从而函数调用结束后会被销毁。如果不声明是全局变量,那么就会报错:(注意灰色字体注释的地方) def load_data(): from keras.datasets import mnist # global train_image, train_lable , test_image, test_lable (train_image, train_lable), (test_image, test_lable) = mnist.load_data.
继续访问

Python使用pip安装报错:is not a supported wheel on this platform的解决方法
我的python是3.8 win64位 安装cryptography报错is not a supported wheel on this platform 首先我是在官网cryptography · PyPI下载的cryptography-37.0.2-pp38-pypy38_pp73-win_amd64.whl 官网如下,安装的时候报错cryptography · PyPI 解决版本:改安装报的名字 步骤一,cmd里面输入pip debug --verbose,会列出支持包的名字,我把包的名字改
继续访问

Python-Pandas{数据结构与基本功能}
PandsSeries手动构建SeriesSeries的索引和切片按照字典的方式进行索引和切片   Pandas通常是用于数据分析过程中, 数据的清洗, 数据预处理, 数据的描述性分析等过程中。在整个Python数据分析的生态环境中, Pandas的地位非常重要, 利用Pandas可以快速便捷的对数据进行各种各样的处理与操作.   在Pandas中, 最重要的两种数据结构是1维的Series和2维的DataFrame. Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数
继续访问

Pandas 10. 索引index的用途
更方便的数据查询:df.loc[index, :]使用index会提升查询性能自动的数据对齐功能;使用index.更多更强大的数据结构支持 很多强大的索引数据结构Categoricallndex,基于分类数据的Index,提升性能;Multilndex,多维索引,用于groupby多维聚合后结果等;Datetimelndex,时间类型索引,强大的日期和时间的方法支持:
继续访问

Pandas的索引index的用途(十一)
1、Pandas的索引index的用途 把数据存储于普通的column列也能用于数据查询,那使用index有什么好处? index的用途总结: 1、更方便的数据查询; 2、使用index可以获得性能提升; 3、自动的数据对齐功能; 4、更多更强大的数据结构支持; 2、实例用途 (1)读取数据 import pandas as pd df = pd.read_csv...
继续访问
python语法基础
1.import 和 from … import 模块的变量、方法引用差异 from pandas import DataFrame from…import // 直接使用函数名使用就可以了 import pandas as pd import //模块.函数 a.import…as import:导入一个模块;注:相当于导入的是一个文件夹,是个相对路径 import A as B:给予工具库 A 一个简单的别称 B ,可以帮助记忆。例:import torc...
继续访问

python数据分析学习(3)
python数据分析·numpy的一些函数
继续访问

Pandas详解三之Index对象
约定 import pandas as pd from pandas import DataFrame import numpy as np Index Index对象保存着索引标签数据,它可以快速找到标签对应的整数下标,其功能与Python的字典类似。 dict1={"Province":["Guangdong","Beijing","Qinghai","Fu...
继续访问
Pandas的索引index的用途
##Pandas的索引index的用途 '''把数据存储于普通的column列也能用于数据查询,那使用index有什么好处?index的用途总结: 1.更方便的数据查询; 2.使用index可以获得性能提升; 3.自动的数据对齐功能; 4.更多更强大的数据结构支持;''' import pandas as pd df =pd.read_csv('F:\\python387\\pandas\\antlearnpandasmaster\\datas\\ml_latest_small\\ratings.csv'.
继续访问
python创建python.py时遇到的问题 name is not defined
创建py文件之后,运行文件时报错: 是一个nameerror,说var为定义,所以执行不成功。这是因为将var定义在了函数里面,即return后一行的代码缩进了,导致var没有定义成功,只需要去除缩进就可以了。 更改如下: ...
继续访问

pandas的Index对象
Index对象保存着索引标签数据,它可以快速找到标签对应的整数下标,其功能与Python的字典类似。 dict1={"Province":["Guangdong","Beijing","Qinghai","Fujiang"], "year":[2018]*4, "pop":[1.3,2.5,1.1,0.7]} df1=DataFrame(dict1) df1 1 2 3 4 5 代码结果 Province pop year 0 Guangdong 1.3...
继续访问。

⑤ python 代码问题

将filename 部分字符复制给lable

⑥ python分析奥巴马资金来源

奥巴马的竞选资金是一点点从选民那里募集来的。如获党内提名,可得政府拔款,但也没多饥码少。美国大选不仅禁外国人捐款,而且禁止公司机构捐款,而只允许个人捐款。不仅如此,还为个人捐款限制了上限,防止富人捐过多的款而影响未来的公旦姿平执政。
不仅富人自己不能多捐,如果某个老板呼吁自己的员工给某人捐钱或投票支持他烂迟哪,都是犯法的。因此,想要筹到几千万竞争资金,唯一的办法是争取更多选民支持,一点点募集。所以,中国、公司、大笔捐款,这三条都是犯法的。
我记得以前已经有华人闹过这种丑闻了。美国的选举法就是要严防少数人企图用几个臭钱影响美国的政治。所以我们作为外国人就更别去自讨没趣了。

导入包

In [1]:
import numpy as npimport pandas as pdfrom pandas import Series,DataFrame

方便大家操作,将月份和参选人以及所在政党进行定义

In [2]:
months = {'JAN' : 1, 'FEB' : 2, 'MAR' : 3, 'APR' : 4, 'MAY' : 5, 'JUN' : 6, 'JUL' : 7, 'AUG' : 8, 'SEP' : 9, 'OCT': 10, 'NOV': 11, 'DEC' : 12}of_interest = ['Obama, Barack', 'Romney, Mitt', 'Santorum, Rick', 'Paul, Ron', 'Gingrich, Newt']parties = { 'Bachmann, Michelle': 'Republican', 'Romney, Mitt': 'Republican', 'Obama, Barack': 'Democrat', "Roemer, Charles E. 'Buddy' III": 'Reform', 'Pawlenty, Timothy': 'Republican', 'Johnson, Gary Earl': 'Libertarian', 'Paul, Ron': 'Republican', 'Santorum, Rick': 'Republican', 'Cain, Herman': 'Republican', 'Gingrich, Newt': 'Republican', 'McCotter, Thaddeus G': 'Republican', 'Huntsman, Jon': 'Republican', 'Perry, Rick': 'Republican' }

读取文件

In [3]:
table = pd.read_csv('data/usa_election.txt')table.head()

C:\jupyter\lib\site-packages\IPython\core\interactiveshell.py:2785: DtypeWarning: Columns (6) have mixed types. Specify dtype option on import or set low_memory=False. interactivity=interactivity, compiler=compiler, result=result)
Out[3]:
cmte_id cand_id cand_nm contbr_nm contbr_city contbr_st contbr_zip contbr_employer contbr_occupation contb_receipt_amt contb_receipt_dt receipt_desc memo_cd memo_text form_tp file_num
0 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 250.0 20-JUN-11 NaN NaN NaN SA17A 736166
1 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 50.0 23-JUN-11 NaN NaN NaN SA17A 736166
2 C00410118 P20002978 Bachmann, Michelle SMITH, LANIER LANETT AL 3.68633e 08 INFORMATION REQUESTED INFORMATION REQUESTED 250.0 05-JUL-11 NaN NaN NaN SA17A 749073
3 C00410118 P20002978 Bachmann, Michelle BLEVINS, DARONDA PIGGOTT AR 7.24548e 08 NONE RETIRED 250.0 01-AUG-11 NaN NaN NaN SA17A 749073
4 C00410118 P20002978 Bachmann, Michelle WARDENBURG, HAROLD HOT SPRINGS NATION AR 7.19016e 08 NONE RETIRED 300.0 20-JUN-11 NaN NaN NaN SA17A 736166
In [8]:
#使用map函数 字典,新建一列各个候选人所在党派partytable['party'] = table['cand_nm'].map(parties)table.head()
Out[8]:
cmte_id cand_id cand_nm contbr_nm contbr_city contbr_st contbr_zip contbr_employer contbr_occupation contb_receipt_amt contb_receipt_dt receipt_desc memo_cd memo_text form_tp file_num party
0 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 250.0 20-JUN-11 NaN NaN NaN SA17A 736166 Republican
1 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 50.0 23-JUN-11 NaN NaN NaN SA17A 736166 Republican
2 C00410118 P20002978 Bachmann, Michelle SMITH, LANIER LANETT AL 3.68633e 08 INFORMATION REQUESTED INFORMATION REQUESTED 250.0 05-JUL-11 NaN NaN NaN SA17A 749073 Republican
3 C00410118 P20002978 Bachmann, Michelle BLEVINS, DARONDA PIGGOTT AR 7.24548e 08 NONE RETIRED 250.0 01-AUG-11 NaN NaN NaN SA17A 749073 Republican
4 C00410118 P20002978 Bachmann, Michelle WARDENBURG, HAROLD HOT SPRINGS NATION AR 7.19016e 08 NONE RETIRED 300.0 20-JUN-11 NaN NaN NaN SA17A 736166 Republican
In [10]:
#party这一列中有哪些元素table['party'].unique()
Out[10]:
array(['Republican', 'Democrat', 'Reform', 'Libertarian'], dtype=object)
In [ ]:
#使用value_counts()函数,统计party列中各个元素出现次数,value_counts()是Series中的,无参,返回一个带有每个元素出现次数的Series
In [11]:
table['party'].value_counts()
Out[11]:
Democrat 292400Republican 237575Reform 5364Libertarian 702Name: party, dtype: int64
In [12]:
#使用groupby()函数,查看各个党派收到的政治献金总数contb_receipt_amttable.groupby(by='party')['contb_receipt_amt'].sum()
Out[12]:
partyDemocrat 8.105758e 07Libertarian 4.132769e 05Reform 3.390338e 05Republican 1.192255e 08Name: contb_receipt_amt, dtype: float64
In [13]:
#查看具体每天各个党派收到的政治献金总数contb_receipt_amt 。使用groupby([多个分组参数])table.groupby(by=['party','contb_receipt_dt'])['contb_receipt_amt'].sum()
Out[13]:
party contb_receipt_dtDemocrat 01-AUG-11 175281.00 01-DEC-11 651532.82 01-JAN-12 58098.80 01-JUL-11 165961.00 01-JUN-11 145459.00 01-MAY-11 82644.00 01-NOV-11 122529.87 01-OCT-11 148977.00 01-SEP-11 403297.62 02-AUG-11 164510.11 02-DEC-11 216056.96 02-JAN-12 89743.60 02-JUL-11 17105.00 02-JUN-11 422453.00 02-MAY-11 396675.00 02-NOV-11 147183.81 02-OCT-11 62605.62 02-SEP-11 137948.41 03-AUG-11 147053.02 03-DEC-11 81304.02 03-JAN-12 87406.97 03-JUL-11 5982.00 03-JUN-11 320176.20 03-MAY-11 261819.11 03-NOV-11 119304.56 03-OCT-11 363061.02 03-SEP-11 45598.00 04-APR-11 640235.12 04-AUG-11 598784.23 04-DEC-11 72795.10 ... Republican 29-AUG-11 941769.23 29-DEC-11 428501.42 29-JAN-11 750.00 29-JAN-12 75220.02 29-JUL-11 233423.35 29-JUN-11 1340704.29 29-MAR-11 38875.00 29-MAY-11 8363.20 29-NOV-11 407322.64 29-OCT-11 81924.01 29-SEP-11 1612794.52 30-APR-11 43004.80 30-AUG-11 915548.58 30-DEC-11 492470.45 30-JAN-12 255204.80 30-JUL-11 12249.04 30-JUN-11 2744932.63 30-MAR-11 50240.00 30-MAY-11 17803.60 30-NOV-11 809014.83 30-OCT-11 43913.16 30-SEP-11 4886331.76 31-AUG-11 1017735.02 31-DEC-11 1094376.72 31-JAN-11 6000.00 31-JAN-12 869890.41 31-JUL-11 12781.02 31-MAR-11 62475.00 31-MAY-11 301339.80 31-OCT-11 734601.83Name: contb_receipt_amt, Length: 1183, dtype: float64
In [14]:
def trasform_date(d): day,month,year = d.split('-') month = months[month] return "20" year '-' str(month) '-' day
In [17]:
#将表中日期格式转换为'yyyy-mm-dd'。日期格式,通过函数加map方式进行转换table['contb_receipt_dt'] = table['contb_receipt_dt'].apply(trasform_date)
In [18]:
table.head()
Out[18]:
cmte_id cand_id cand_nm contbr_nm contbr_city contbr_st contbr_zip contbr_employer contbr_occupation contb_receipt_amt contb_receipt_dt receipt_desc memo_cd memo_text form_tp file_num party
0 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 250.0 2011-6-20 NaN NaN NaN SA17A 736166 Republican
1 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 50.0 2011-6-23 NaN NaN NaN SA17A 736166 Republican
2 C00410118 P20002978 Bachmann, Michelle SMITH, LANIER LANETT AL 3.68633e 08 INFORMATION REQUESTED INFORMATION REQUESTED 250.0 2011-7-05 NaN NaN NaN SA17A 749073 Republican
3 C00410118 P20002978 Bachmann, Michelle BLEVINS, DARONDA PIGGOTT AR 7.24548e 08 NONE RETIRED 250.0 2011-8-01 NaN NaN NaN SA17A 749073 Republican
4 C00410118 P20002978 Bachmann, Michelle WARDENBURG, HAROLD HOT SPRINGS NATION AR 7.19016e 08 NONE RETIRED 300.0 2011-6-20 NaN NaN NaN SA17A 736166 Republican
In [19]:
#查看老兵(捐献者职业)DISABLED VETERAN主要支持谁 :查看老兵们捐赠给谁的钱最多table['contbr_occupation'] == 'DISABLED VETERAN'
Out[19]:
0 False1 False2 False3 False4 False5 False6 False7 False8 False9 False10 False11 False12 False13 False14 False15 False16 False17 False18 False19 False20 False21 False22 False23 False24 False25 False26 False27 False28 False29 False ... 536011 False536012 False536013 False536014 False536015 False536016 False536017 False536018 False536019 False536020 False536021 False536022 False536023 False536024 False536025 False536026 False536027 False536028 False536029 False536030 False536031 False536032 False536033 False536034 False536035 False536036 False536037 False536038 False536039 False536040 FalseName: contbr_occupation, Length: 536041, dtype: bool
In [21]:
old_bing_df = table.loc[table['contbr_occupation'] == 'DISABLED VETERAN']
In [22]:
old_bing_df.groupby(by='cand_nm')['contb_receipt_amt'].sum()
Out[22]:
cand_nmCain, Herman 300.00Obama, Barack 4205.00Paul, Ron 2425.49Santorum, Rick 250.00Name: contb_receipt_amt, dtype: float64
In [23]:
table['contb_receipt_amt'].max()
Out[23]:
1944042.43
In [24]:
#找出候选人的捐赠者中,捐赠金额最大的人的职业以及捐献额 .通过query("查询条件来查找捐献人职业")table.query('contb_receipt_amt == 1944042.43')
Out[24]:
cmte_id cand_id cand_nm contbr_nm contbr_city contbr_st contbr_zip contbr_employer contbr_occupation contb_receipt_amt contb_receipt_dt receipt_desc memo_cd memo_text form_tp file_num party
176127 C00431445 P80003338 Obama, Barack OBAMA VICTORY FUND 2012 - UNITEMIZED CHICAGO IL 60680 NaN NaN 1944042.43 2011-12-31 NaN X * SA18 763233 Democrat
来源:https://www.icode9.com/content-1-497751.html

⑦ 怎么使用Python中Pandas库Resample,实现重采样,完成线性插值

#python中的pandas库主要有DataFrame和Series类(面向对象的的语言更愿意叫类) DataFrame也就是
#数据框(主要是借鉴R里面的data.frame),Series也就是序列 ,pandas底层是c写的 性能很棒,有大神
#做过测试 处理亿级别的数据没问题,起性能可以跟同等配置的sas媲美
#DataFrame索引 df.loc是标签选取操作,df.iloc是位置切片操作
print(df[['row_names','Rape']])
df['行标签']
df.loc[行标签,列标签]
print(df.loc[0:2,['Rape','Murder']])
df.iloc[行位置,列位置]
df.iloc[1,1]#选取第二行,第二列的值,返回的为单个值
df.iloc[0,2],:]#选取第一行及第三行的数据
df.iloc[0:2,:]#选取第一行到第三行(不包含)的数据
df.iloc[:,1]#选取所有记录的第一列的值,返回的为一个Series
df.iloc[1,:]#选取第一行数据,返回的为一个Series
print(df.ix[1,1]) # 更广义的切片方式是使用.ix,它自动根据你给到的索引类型判断是使用位置还是标签进行切片
print(df.ix[0:2])
#DataFrame根据条件选取子集 类似于sas里面if、where ,R里面的subset之类的函数
df[df.Murder>13]
df[(df.Murder>10)&(df.Rape>30)]
df[df.sex==u'男']
#重命名 相当于sas里面的rename R软件中reshape包的中的rename
df.rename(columns={'A':'A_rename'})
df.rename(index={1:'other'})
#删除列 相当于sas中的drop R软件中的test['col']<-null
df.drop(['a','b'],axis=1) or del df[['a','b']]
#排序 相当于sas里面的sort R软件里面的df[order(x),]
df.sort(columns='C') #行排序 y轴上
df.sort(axis=1) #各个列之间位置排序 x轴上
#数据描述 相当于sas中proc menas R软件里面的summary
df.describe()
#生成新的一列 跟R里面有点类似
df['new_columns']=df['columns']
df.insert(1,'new_columns',df['B']) #效率最高
df.join(Series(df['columns'],name='new_columns'))
#列上面的追加 相当于sas中的append R里面cbind()
df.append(df1,ignore_index=True)
pd.concat([df,df1],ignore_index=True)
#最经典的join 跟sas和R里面的merge类似 跟sql里面的各种join对照
merge()
#删除重行 跟sas里面nokey R里面的which(!plicated(df[])类似
df.drop_plicated()
#获取最大值 最小值的位置 有点类似矩阵里面的方法
df.idxmin(axis=0 ) df.idxmax(axis=1) 0和1有什么不同 自己摸索去
#读取外部数据跟sas的proc import R里面的read.csv等类似
read_excel() read_csv() read_hdf5() 等
与之相反的是df.to_excel() df.to_ecv()
#缺失值处理 个人觉得pandas中缺失值处理比sas和R方便多了
df.fillna(9999) #用9999填充
#链接数据库 不多说 pandas里面主要用 MySQLdb
import MySQLdb
conn=MySQLdb.connect(host="localhost",user="root",passwd="",db="mysql",use_unicode=True,charset="utf8")
read_sql() #很经典
#写数据进数据库
df.to_sql('hbase_visit',con, flavor="mysql", if_exists='replace', index=False)
#groupby 跟sas里面的中的by R软件中dplyr包中的group_by sql里面的group by功能是一样的 这里不多说
#求哑变量
miper=pd.get_mmies(df['key'])
df['key'].join(mpier)
#透视表 和交叉表 跟sas里面的proc freq步类似 R里面的aggrate和cast函数类似
pd.pivot_table()
pd.crosstab()
#聚合函数经常跟group by一起组合用
df.groupby('sex').agg({'height':['mean','sum'],'weight':['count','min']})

#数据查询过滤

test.query("0.2
将STK_ID中的值过滤出来
stk_list = ['600809','600141','600329']中的全部记录过滤出来,命令是:rpt[rpt['STK_ID'].isin(stk_list)].
将dataframe中,某列进行清洗的命令
删除换行符:misc['proct_desc'] = misc['proct_desc'].str.replace('\n', '')
删除字符串前后空格:df["Make"] = df["Make"].map(str.strip)
如果用模糊匹配的话,命令是:
rpt[rpt['STK_ID'].str.contains(r'^600[0-9]{3}$')]

对dataframe中元素,进行类型转换

df['2nd'] = df['2nd'].str.replace(',','').astype(int) df['CTR'] = df['CTR'].str.replace('%','').astype(np.float64)

#时间变换 主要依赖于datemie 和time两个包
http://www.2cto.com/kf/201401/276088.html
#其他的一些技巧
df2[df2['A'].map(lambda x:x.startswith('61'))] #筛选出以61开头的数据
df2["Author"].str.replace("<.+>", "").head() #replace("<.+>", "")表示将字符串中以”<”开头;以”>”结束的任意子串替换为空字符串
commits = df2["Name"].head(15)
print commits.unique(), len(commits.unique()) #获的NAME的不同个数,类似于sql里面count(distinct name)
#pandas中最核心 最经典的函数apply map applymap

⑧ python关于resample运行报错

解滚罩决方法:
直接获取它全部大慎闹的索引值强制改孝粗变 temp_volume_series.index = temp_time_series!

⑨ python 有没有对信号进行升采样的方法,从1000点序列数据转成10000点数据

这个里面他的话这个是可以进行进行采样的方法,然后再从他的点训练数据中转换乘1000点的话,它都是里面是转化的,数据比较多,所以所以的话工程量比较大。

阅读全文

与pythonresample实现相关的资料

热点内容
安卓如何传输图片给苹果 浏览:829
可编程控制器原理应用网络 浏览:587
社畜解压是什么意思 浏览:436
吉利博越用哪个app啊 浏览:513
西安单片机晶振电容 浏览:187
分地面积的算法 浏览:179
安卓手机升级包后怎么安装 浏览:262
济南压缩饼干哪有卖 浏览:524
怎么用rar解压百度网盘 浏览:660
手机哪款解压缩软件好用 浏览:80
失控的算法代码 浏览:297
程序员说有人爱你怎么回答 浏览:106
腾讯游戏安卓怎么用ios登录 浏览:759
石狮云存储服务器 浏览:180
python渗透入门到精通 浏览:272
如何真机调试安卓进程 浏览:739
农行app怎么交公共维修基金 浏览:667
python中字典增加元素 浏览:240
服务器端渲染的数据怎么爬 浏览:164
压缩空气喷射器 浏览:490