我有一个名单列表,如:
names = ['A', 'B', 'C', 'D']
Run Code Online (Sandbox Code Playgroud)
和文件清单,在每个文件中提到了一些这些名称.
document =[['A', 'B'], ['C', 'B', 'K'],['A', 'B', 'C', 'D', 'Z']]
Run Code Online (Sandbox Code Playgroud)
我想得到一个输出作为共现矩阵,如:
A B C D
A 0 2 1 1
B 2 0 2 1
C 1 2 0 1
D 1 1 1 0
Run Code Online (Sandbox Code Playgroud)
在R中有一个针对这个问题的解决方案(创建共生矩阵),但我无法在Python中实现.我想在熊猫中做到这一点,但还没有进展!
我有一长串数字,如下所示。我想找到每个数字的频率分布,但我无法使用 Counter 函数来获取每个项目的频率,因为它们是整数,并且我收到错误,它是不可迭代的,因此我无法将列表转换为字符串。我检查了类似的问题,但它们对我不起作用。
data=[1.0, 2.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 15.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 7.0, 1.0, 0.0, 0.0, 4.0, 3.0, 3.0, 1.0, 1.0, 2.0, 4.0, 0.0, 1.0, 7.0, 2.0, 1.0, 1.0, 4.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 3.0, 2.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 10.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 2.0, 3.0, 0.0, 3.0, 2.0, 11.0, 0.0, 5.0, 2.0, 0.0, 1.0, 2.0, 1.0, 8.0, …Run Code Online (Sandbox Code Playgroud) 我有一个像下面这样的数据帧,我打算用size = 30每个数据块提取窗口,然后为每个数据块写入循环,并调用其他函数.
index = pd.date_range(start='2016-01-01', end='2016-04-01', freq='D')
data = pd.DataFrame(np.random.rand(len(index)), index = index, columns=['random'])
Run Code Online (Sandbox Code Playgroud)
我找到了以下功能,但我想知道是否有更有效的方法.
def split(df, chunkSize = 30):
listOfDf = list()
numberChunks = len(df) // chunkSize + 1
for i in range(numberChunks):
listOfDf.append(df[i*chunkSize:(i+1)*chunkSize])
return listOfDf
Run Code Online (Sandbox Code Playgroud) 我在Python 2.7中解析包含的JSON文件
"TimestampUtc":"\/Date(1477393888000)\/
Run Code Online (Sandbox Code Playgroud)
我想解析这个文件并将日期转换为:
8:11 a.m. Oct. 25, 2016
Run Code Online (Sandbox Code Playgroud)
原始时区在美国,我希望获得完全相同的输出.但这种格式并不常见,其他类似的问题也没有回答.有什么想法怎么做?
我想在Pandas中添加具有相同索引的4个Dataframe的值.如果有两个数据帧,df1和df2,我们可以写:
df1.add(df2)
Run Code Online (Sandbox Code Playgroud)
对于3个数据帧:
df3.add(df2.add(df1))
Run Code Online (Sandbox Code Playgroud)
我想知道在Python中是否有更通用的方法.
我正在编写以下代码,我只想使用pd.where方法获取值的前 3 分钟,但出现以下错误:ValueError: Array conditional must be same shape as self
import pandas as pd
import numpy as np
index = pd.date_range(start = '2017-06-01 00:00', end='2017-06-01 01:00', freq='1min')
values = np.arange(0, len(index))
df = pd.DataFrame(values, index = index)
df.where(df.index <= df.index[0] + pd.DateOffset(minutes=3), np.nan)
Run Code Online (Sandbox Code Playgroud)
此错误还有另一个问题,但上下文不同。
整数索引的代码似乎运行良好,但对于时间序列我有问题。
我有一个数据帧df,如:
Name title freq
A k1 1
A k1 1
A k1 2
A k1 2
A k1 2
M k1 1
M k1 1
M k1 1
M k1 2
M k1 2
M k1 2
M k1 2
A k2 1
A k2 1
A k2 1
A k2 2
A k2 2
A k2 2
A k2 2
M k2 1
M k2 1
M k2 1
M k2 1
M k2 1
M k2 2
M …Run Code Online (Sandbox Code Playgroud)