小编dai*_*len的帖子

如何使用MultiIndex从/向ASCII文件写入/读取Pandas DataFrame?

我希望能够DataFrame为行和列索引创建一个带有MultiIndexes 的Pandas ,并从ASCII文本文件中读取它.我的数据如下:

col_indx = MultiIndex.from_tuples([('A',  'B',  'C'), ('A',  'B',  'C2'), ('A',  'B',  'C3'), 
                                   ('A',  'B2', 'C'), ('A',  'B2', 'C2'), ('A',  'B2', 'C3'), 
                                   ('A',  'B3', 'C'), ('A',  'B3', 'C2'), ('A',  'B3', 'C3'), 
                                   ('A2', 'B',  'C'), ('A2', 'B',  'C2'), ('A2', 'B',  'C3'), 
                                   ('A2', 'B2', 'C'), ('A2', 'B2', 'C2'), ('A2', 'B2', 'C3'), 
                                   ('A2', 'B3', 'C'), ('A2', 'B3', 'C2'), ('A2', 'B3', 'C3')], 
                                   names=['one','two','three']) 
row_indx = MultiIndex.from_tuples([(0,  'North', 'M'), 
                                   (1,  'East',  'F'), 
                                   (2,  'West',  'M'), 
                                   (3,  'South', 'M'), 
                                   (4,  'South', 'F'), 
                                   (5, …
Run Code Online (Sandbox Code Playgroud)

python pandas

10
推荐指数
2
解决办法
8906
查看次数

计算Series或DataFrame的交叉(截距)点

我有定期数据,索引是浮点数,如下所示:

time =    [0, 0.1, 0.21, 0.31, 0.40, 0.49, 0.51, 0.6, 0.71, 0.82, 0.93]
voltage = [1,  -1,  1.1, -0.9,    1,   -1,  0.9,-1.2, 0.95, -1.1, 1.11]
df = DataFrame(data=voltage, index=time, columns=['voltage'])
df.plot(marker='o')
Run Code Online (Sandbox Code Playgroud)

我想创建一个cross(df, y_val, direction='rise' | 'fall' | 'cross')函数,返回一个时间数组(索引),其中包含所有插值点,其中电压值等于y_val.对于"上升",仅返回斜率为正的值; 对于'跌倒',只有具有负斜率的值才会被撤销; 对于'交叉'两者都返回.因此,如果y_val = 0direction ='cross',那么将返回具有10个值的数组,其中交叉点的X值(第一个约为0.025).

我在想这可以用迭代器完成,但想知道是否有更好的方法来做到这一点.

谢谢.我喜欢熊猫和熊猫社区.

python pandas

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

如何在 zsh 中引用文件名中的字符串(传回其他脚本)

我有一个脚本,文件名中有一个字符串,如下所示:

filename_with_spaces="a file with spaces"
echo test > "$filename_with_spaces"
test_expect_success "test1: filename with spaces" "
  run cat \"$filename_with_spaces\"
  run grep test \"$filename_with_spaces\"
"
Run Code Online (Sandbox Code Playgroud)

test_expect_success定义为:

test_expect_success () {
  echo "expecting success: $1"
  eval "$2"
}
Run Code Online (Sandbox Code Playgroud)

run定义为:

#!/bin/zsh
# make nice filename removing special characters, replace space with _
filename=`echo $@ | tr ' ' _ | tr -cd 'a-zA-Z0-9_.'`.run
echo "#!/bin/zsh" > $filename
print "$@" >> $filename
chmod +x $filename
./$filename
Run Code Online (Sandbox Code Playgroud)

但是当我运行顶级脚本时test_expect_success......我得到cat_a_file_with_spaces.run

#!/bin/zsh
cat …
Run Code Online (Sandbox Code Playgroud)

zsh

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

如何转换pandas数据帧,使索引是唯一的值集合,数据是每个值的计数?

我有一个dataframe来自多项选择的问题,它的格式如下:

      Sex Qu1  Qu2  Qu3
Name
Bob    M   1    2    1
John   M   3    3    5
Alex   M   4    1    2
Jen    F   3    2    4
Mary   F   4    3    4
Run Code Online (Sandbox Code Playgroud)

对于3个选择题,数据是1到5的等级.我想重新排列数据,使得索引是范围(1,6),其中1 ='坏',2 ='差',3 ='好',4 ='好',5 ='优秀',列是相同,数据是值出现次数的计数(不包括性别列).这基本上是固定箱尺寸的直方图和用字符串标记的x轴.我喜欢df.plot()df.hist()这更好 的输出,但我无法弄清楚如何重新排列表格给我一个数据的直方图.另外,如何将x标签更改为字符串?

python pandas

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

为自定义格式实现解析树的pythonic方法是什么?

我有一个具有非标准文件格式的项目,例如:

var foo = 5
load 'filename.txt'
var bar = 6
list baz = [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

我想把它解析成一个数据结构,就像 BeautifulSoup 所做的那样。但是 BeautifulSoup 不支持这种格式。构建解析树以便我可以修改值并重新写出的pythonic方法是什么?最后,我想做一些类似的事情:

data = parse_file('file.txt')
data.foo = data.foo * 2
data.write_file('file_new.txt')
Run Code Online (Sandbox Code Playgroud)

python parsing beautifulsoup

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

标签 统计

python ×4

pandas ×3

beautifulsoup ×1

parsing ×1

zsh ×1