小编nat*_*002的帖子

从pandas DataFrame列标题中获取列表

我想从pandas DataFrame中获取列标题列表.DataFrame将来自用户输入,因此我不知道将会有多少列或将调用它们.

例如,如果我给这样的DataFrame:

>>> my_dataframe
    y  gdp  cap
0   1    2    5
1   2    3    9
2   8    7    2
3   3    4    7
4   6    7    7
5   4    8    3
6   8    2    8
7   9    9   10
8   6    6    4
9  10   10    7
Run Code Online (Sandbox Code Playgroud)

我想得到一个如下所示的列表:

>>> header_list
['y', 'gdp', 'cap']
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

914
推荐指数
13
解决办法
157万
查看次数

重命名pandas数据帧中的单个列标题

我有一个名为的数据帧data.如何重命名唯一的一个列标题?例如gdp,以log(gdp)

data =
    y  gdp  cap
0   1    2    5
1   2    3    9
2   8    7    2
3   3    4    7
4   6    7    7
5   4    8    3
6   8    2    8
7   9    9   10
8   6    6    4
9  10   10    7
Run Code Online (Sandbox Code Playgroud)

python rename dataframe pandas

154
推荐指数
5
解决办法
17万
查看次数

如何让pandas dataframe列标题全部小写?

我想让我的pandas数据框中的所有列标题都小写

如果我有:

data =

  country country isocode  year     XRAT          tcgdp
0  Canada             CAN  2001  1.54876   924909.44207
1  Canada             CAN  2002  1.56932   957299.91586
2  Canada             CAN  2003  1.40105  1016902.00180
....
Run Code Online (Sandbox Code Playgroud)

我想通过做类似的事情将XRAT改为xrat:

data.headers.lowercase()
Run Code Online (Sandbox Code Playgroud)

所以我得到:

  country country isocode  year     xrat          tcgdp
0  Canada             CAN  2001  1.54876   924909.44207
1  Canada             CAN  2002  1.56932   957299.91586
2  Canada             CAN  2003  1.40105  1016902.00180
3  Canada             CAN  2004  1.30102  1096000.35500
....
Run Code Online (Sandbox Code Playgroud)

我不会提前知道每个列标题的名称.

python dataframe pandas

77
推荐指数
4
解决办法
6万
查看次数

将pandas数据框中的列向上移一个?

我有一个熊猫数据帧.我想"滞后"我的一个专栏.这意味着,例如,将整个列'gdp'向上移动一个,然后删除剩余行底部的所有多余数据,以便所有列的长度相等.

df =
    y  gdp  cap
0   1    2    5
1   2    3    9
2   8    7    2
3   3    4    7
4   6    7    7

df_lag =
    y  gdp  cap
0   1    3    5
1   2    7    9
2   8    4    2
3   3    7    7
Run Code Online (Sandbox Code Playgroud)

无论如何要做到这一点?

python dataframe pandas

66
推荐指数
4
解决办法
7万
查看次数

在CSS中绘制一个X.

我有一个看起来像橙色方块的div

在此输入图像描述

我想以某种方式在这个div中绘制一个白色的X,这样它看起来更像

在此输入图像描述

无论如何要在CSS中执行此操作还是更容易在Photoshop中绘制并使用图像作为div背景?div代码看起来像

div {
    height: 100px;
    width: 100px;
    background-color: #FA6900;
    border-radius: 5px;
}
Run Code Online (Sandbox Code Playgroud)

html css draw css-shapes

45
推荐指数
10
解决办法
9万
查看次数

python:对我的复制变量的更改会影响原始变量

我有一个列表,我创建了一个副本,以便在保持原始列表的同时进行一些操作.但是,当我设置copy_list相同时org_list,它们会变成同一个东西,如果我改变copy_list,它org_list也会变化.例如:

org_list = ['y', 'c', 'gdp', 'cap']

copy_list = org_list

copy_list.append('hum')

print(copy_list)
print(org_list)
Run Code Online (Sandbox Code Playgroud)

回报

['y', 'c', 'gdp', 'cap', 'hum']
['y', 'c', 'gdp', 'cap', 'hum']
Run Code Online (Sandbox Code Playgroud)

我不太了解实际发生的事情,但它看起来org_list实际上已经过去了,copy_list所以它们实际上是同一个东西.

有没有办法制作org_list的独立副本而不做一些笨拙的事情:

copy_list = []
for i in org_list:
    copy_list.append(i)
Run Code Online (Sandbox Code Playgroud)

我这样说是因为我对其他类型的变量有同样的问题,例如pandas数据帧.

python

42
推荐指数
4
解决办法
5万
查看次数

python:散点图对数刻度

在我的代码中,我采用两个数据系列的对数并绘制它们.我想通过将其提高到e的幂(自然对数的反对数)来改变x轴的每个刻度值.

换一种说法.我想绘制两个系列的对数图,但是在水平上有x轴.

在此输入图像描述

这是我正在使用的代码.

from pylab import scatter
import pylab
import matplotlib.pyplot as plt
import pandas as pd
from pandas import Series, DataFrame
import numpy as np

file_name = '/Users/joedanger/Desktop/Python/scatter_python.csv'

data = DataFrame(pd.read_csv(file_name))

y = np.log(data['o_value'], dtype='float64')
x = np.log(data['time_diff_day'], dtype='float64')

fig = plt.figure()
plt.scatter(x, y, c='blue', alpha=0.05, edgecolors='none')
fig.suptitle('test title', fontsize=20)
plt.xlabel('time_diff_day', fontsize=18)
plt.ylabel('o_value', fontsize=16)
plt.xticks([-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4])

plt.grid(True)
pylab.show()
Run Code Online (Sandbox Code Playgroud)

python logarithm matplotlib

35
推荐指数
2
解决办法
6万
查看次数

mysql时间戳为默认值null,而不是current_timestamp

使用mysql,我正在尝试从日期列和时间列创建时间戳列.如果日期或时间列包含NULL值,则mysql会自动将timestamp列中的相应值设置为current_timestamp.有没有办法让它默认为NULL,而不是当前的时间戳?

就像是:

ALTER TABLE customers ADD s_timestamp TIMESTAMP;
UPDATE customers
    SET s_timestamp = timestamp(s_date,s_time) DEFAULT NULL;
Run Code Online (Sandbox Code Playgroud)

mysql sql timestamp

25
推荐指数
1
解决办法
3万
查看次数

Docker进程被神秘的"Killed"消息杀死

在docker容器中运行python脚本,一切似乎运行顺畅,看到一些STDOUT消息,大约5分钟我得到一条Killed消息,没有进一步的解释,过程停止.查询数据库可能是磁盘空间问题,可能是OOM问题.我不确定,但我不知道在哪里可以找到关于这个kill消息的日志,所以我可以找到这个问题的根源.这些日志有哪些想法?

在Mac OSX上运行docker-machine.

这真的是所有信息都说的!

root@c7b800e0f276:/opt/mymodule# python
Python 2.7.13 (default, May  1 2017, 22:44:36)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from mymodule import model
>>> model.run('2017-04-01')
INFO:Deleting from input table.
INFO:Inserting into input table.
INFO:Querying input table for chunk.
Killed
root@c7b800e0f276:/opt/mymodule# exit
Run Code Online (Sandbox Code Playgroud)

谢谢!

python macos docker docker-machine

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

python:删除包含字符串的pandas数据帧中的所有行

我有一个名为data的pandas数据框,我想删除任何列中包含字符串的所有行.例如,下面我们看到'gdp'列在索引3处有一个字符串,在索引1处有'cap'.

data =

    y  gdp  cap
0   1    2    5
1   2    3    ab
2   8    7    2
3   3    bc   7
4   6    7    7
5   4    8    3
...
Run Code Online (Sandbox Code Playgroud)

我一直在尝试使用类似这样的脚本,因为我不会提前知道exp_list中包含的内容.不幸的是,"data.var_name"抛出了这个错误:'DataFrame'对象没有属性'var_name'.我也不知道字符串会提前是什么,所以有什么方法可以概括一下呢?

exp_list = ['gdp', 'cap']

for var_name in exp_list:
    data = data[data.var_name != 'ab']
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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