小编use*_*828的帖子

如何为 Pandas Dataframe 非规范化 YAML?

我正在尝试将 YAML 文件中的数据导入 Pandas DataFrame。以下面的例子为例data.yml

---
 - doc: "Book1"
   reviews:
     - reviewer: "Paul"
       stars: "5"
     - reviewer: "Sam"
       stars: "2"
 - doc: "Book2"
   reviews:
     - reviewer: "John"
       stars: "4"
     - reviewer: "Sam"
       stars: "3"
     - reviewer: "Pete"
       stars: "2"
...
Run Code Online (Sandbox Code Playgroud)

所需的 DataFrame 如下所示:

     doc reviews.reviewer reviews.stars
0  Book1             Paul             5
1  Book1              Sam             2
2  Book2             John             4
3  Book2              Sam             3
4  Book2             Pete             2
Run Code Online (Sandbox Code Playgroud)

我试过以不同的方式将 YAML 数据提供给 Pandas(如with open('data.yml') as f: data = pd.DataFrame(yaml.load(f))),但单元格始终包含嵌套的字典。此 …

python yaml denormalization dataframe pandas

5
推荐指数
2
解决办法
5996
查看次数

获取数据中的pandas系列索引

我想格式化一系列字符串,以便索引在某处的字符串中.示例系列:

ser = pd.Series(['CT', 'NY', 'MT'], index=['Jessica', 'Eric', 'Toby'])
ser
Jessica    CT
Eric       NY
Toby       MT
dtype: object
Run Code Online (Sandbox Code Playgroud)

所需的输出:

Jessica    Jessica: CT
Eric          Eric: NY
Toby          Toby: MT
dtype: object
Run Code Online (Sandbox Code Playgroud)

我试过这个变种:

ser.apply(lambda x: "{}: {}".format(x.index, x))
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为它x.index引用的是索引方法str,而不是迭代的系列.

python indexing series pandas

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

Pandas 列表的列以分隔列

问题

传入数据是 0+ 类别的列表:

#input data frame
df = pd.DataFrame({'categories':(list('ABC'), list('BC'), list('A'))})

  categories
0  [A, B, C]
1     [B, C]
2        [A]
Run Code Online (Sandbox Code Playgroud)

我想将其转换为一个 DataFrame,每个类别一列,每个单元格中有一个 0/​​1:

#desired output

   A  B  C
0  1  1  1
1  0  1  1
2  1  0  0
Run Code Online (Sandbox Code Playgroud)

试图

OneHotEncoder 和 LabelEncoder 会陷入困境,因为它们不处理单元格中的列表。当前通过嵌套循环实现了预期的结果for

#get unique categories ['A','B','C']
categories = np.unique(np.concatenate(x['categories']))

#make empty data frame
binary_df = pd.DataFrame(columns=[c for c in categories],
                         index=x.index)

print(binary_df)
     A    B    C
0  NaN  NaN  NaN
1  NaN  NaN  NaN …
Run Code Online (Sandbox Code Playgroud)

python encoding numpy scikit-learn

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

如何将Python列表转换为包括边项的连续元组?

对于Python列表:

l = list('ABCDEFG')
Run Code Online (Sandbox Code Playgroud)

怎么能把它变成一个连续的N元组列表,边缘情况不被抛出?这是N = 3的示例:

A
A B
A B C
B C D
C D E
D E F
E F G
F G
G
Run Code Online (Sandbox Code Playgroud)

我可以接近

for first, second, third in zip(l,l[1:],l[2:]):
    print(first, second, third)
Run Code Online (Sandbox Code Playgroud)

但是,这并不包括在边缘的情况下,不能容易地扩展到其他Ñ.我可以使用C-looking for循环来修补它,检查数组绑定的有效性,但它很快就会变成一个嵌套if语句的网络,我正在寻找更多的Pythonic解决方案.

python python-3.x

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

%[^ <](和朋友)在格式化字符串系列中的含义是什么?

评论(可能应该作为答案提交)有代码

sscanf(string, "<title>%[^<]</title>", extracted_string);
Run Code Online (Sandbox Code Playgroud)

运行代码似乎将<title>标签之间的文本复制到了extracted_string,但我无法在手册页其他在线网页上找到对printf系列中插入符号的任何引用.

有人能指出我的资源,解释家庭中的使用%[^<]和其他类似的语法sscanf()吗?

c scanf string-formatting

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

始终在修改时自动添加/暂存/提交特定文件

我有一个包含源代码的工作目录和编译后生成的文件.我不跟踪中间构建文件,但我想保留一个工作的成品,每次更改我跟踪的源代码git addgit commit.

每次提交和推动我的工作时添加相同的结果文件变得很繁琐.是否有一个"anti-.gitignore"文件,我可以配置为在修改时始终暂存此文件,以便每个文件保存commit

git

0
推荐指数
1
解决办法
75
查看次数