小编sst*_*van的帖子

Pandas DataFrameGroupBy 导出到 Excel

我正在尝试将分组记录的计数导出到 Excel。

我有一个看起来像这样的 CSV 文件:

Date        Country   Sub  Source
2014-09-11    US      1    source1
2014-09-11    US      2    source2
2014-09-11    UK      1    source3
2014-09-11    US      1    source1
2014-09-11    IN      3    source4
Run Code Online (Sandbox Code Playgroud)

我需要按 Country、Sub 和 Source 分组的记录数。

df = pd.read_csv('log.csv',sep='\t')
count = df.groupby(['Country','Sub','Source']).size()
count.to_excel('report.xls', index=False)
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时出现错误: AttributeError: 'Series' object has no attribute 'to_excel'

是否不允许将 DataFrameGroupBy 导出到 Excel?还有一种方法可以将带有计数信息的分组记录插入到 MySQL 数据库中吗?

python export-to-excel pandas sql-insert

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

Python:将十六进制字符串转换为字节

我正在尝试制作字节帧,我将通过 UDP 发送该帧。我有类Frame,它具有属性syncframeSizedatachecksum等。我使用十六进制字符串来表示值。像这样:

testFrame = Frame("AA01","0034","44853600","D43F")
Run Code Online (Sandbox Code Playgroud)

现在,我需要将这些十六进制值连接在一起并将它们转换为字节数组,如下所示?!

def convertToBits(self):
    stringMessage = self.sync + self.frameSize + self.data + self.chk
    return b16decode(self.stringMessage)
Run Code Online (Sandbox Code Playgroud)

但是当我打印转换后的值时,我没有得到相同的值,或者我不知道正确读取 python 表示法:

This is sync: AA01
This is frame size: 0034
This is data:44853600
This is checksum: D43F

b'\xaa\x01\x004D\x856\x00\xd4?'
Run Code Online (Sandbox Code Playgroud)

因此,第一个单词转换正常(AA01 -> \xaa\x01),但(0034 -> \x004D)它不一样。我尝试使用bytearray.fromhex因为我可以在字节之间使用空格,但得到了相同的结果。你能帮我通过 UDP 发送相同的十六进制字吗?

python arrays string hex udp

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

标签 统计

python ×2

arrays ×1

export-to-excel ×1

hex ×1

pandas ×1

sql-insert ×1

string ×1

udp ×1